# AppOrder

Formula:
routine main() returns nothing is
begin
	if !IsEmpty(AppOrder.SUBPRA_FeeSimple) then
		AppOrder.SUBPRA_Leasehold = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(AppOrder.SUBPRA_Leasehold) then
		AppOrder.SUBPRA_FeeSimple = "";
end;


Formula:
routine main() returns nothing is
begin
	String CN;
	if IsEmpty(AppOrder.SUBBorrower) then
	begin
		CN = "";
		if !IsEmpty(AppOrder.SUBBorrowerPrefix) then
			CN = CN + AppOrder.SUBBorrowerPrefix + " ";
		if !IsEmpty(AppOrder.SUBBorrowerFirst) then
			CN = CN + AppOrder.SUBBorrowerFirst + " ";
		if !IsEmpty(AppOrder.SUBBorrowerMid) then
			CN = CN + AppOrder.SUBBorrowerMid + " ";
		if !IsEmpty(AppOrder.SUBBorrowerLast) then
			CN = CN + AppOrder.SUBBorrowerLast + " ";
		if !IsEmpty(AppOrder.SUBBorrowerSuffix) then
			CN = CN + AppOrder.SUBBorrowerSuffix + " ";
		AppOrder.SUBBorrower = StrTrim(CN);
	end;
end;


Formula:
routine main() returns nothing is
begin
	String LD;
	if IsEmpty(AppOrder.SUBLegalDescrip) then
	begin
		LD = "";
		if !IsEmpty(AppOrder.SUBLegalMapCover) then
			LD = LD + AppOrder.SUBLegalMapCover + " ";
		if !IsEmpty(AppOrder.SUBLegalMapSectionLotBlk) then
			LD = LD + AppOrder.SUBLegalSectionLotBlk + " ";
		if !IsEmpty(AppOrder.SUBLegalParcelID) then
			LD = LD + AppOrder.SUBLegalParcelID + " ";
		if !IsEmpty(AppOrder.SUBLegalLotOrUnit) then
			LD = LD + AppOrder.SUBLegalLotOrUnit + " ";
		if !IsEmpty(AppOrder.SUBLegalBlockBldg) then
			LD = LD + AppOrder.SUBLegalBlockBldg + " ";
		if !IsEmpty(AppOrder.SUBLegalSubDivision) then
			LD = LD + AppOrder.SUBLegalSubDivision + " ";
		if !IsEmpty(AppOrder.SUBLegalSection) then
			LD = LD + AppOrder.SUBLegalSection + " ";
		if !IsEmpty(AppOrder.SUBLegalNumber) then
			LD = LD + AppOrder.SUBLegalNumber + " ";
		if !IsEmpty(AppOrder.SUBLegalBook) then
			LD = LD + AppOrder.SUBLegalBook + " ";
		if !IsEmpty(AppOrder.SUBLegalPage) then
			LD = LD + AppOrder.SUBLegalPage + " ";
		if !IsEmpty(AppOrder.SUBLegalOutlet) then
			LD = LD + AppOrder.SUBLegalOutLet + " ";
		if !IsEmpty(AppOrder.SUBLegalBaseline) then
			LD = LD + AppOrder.SUBLegalBaseline + " ";
		if !IsEmpty(AppOrder.SUBLegalSurvDescript) then
			LD = LD + AppOrder.SUBLegalSurvDescript + " ";
		if !IsEmpty(AppOrder.SUBLegalTorrensPropNo) then
			LD = LD + AppOrder.SUBLegalTorrensPropNo + " ";
		AppOrder.SUBLegalDescrip = StrTrim(LD);
	end;
end;


Formula:
routine main() returns nothing is
begin
	String CN;
	if IsEmpty(AppOrder.LENLender) then
	begin
		CN = "";
		if !IsEmpty(AppOrder.LENLenderPrefix) then
			CN = CN + AppOrder.LENLenderPrefix + " ";
		if !IsEmpty(AppOrder.LENLenderFirst) then
			CN = CN + AppOrder.LENLenderFirst + " ";
		if !IsEmpty(AppOrder.LENLenderMid) then
			CN = CN + AppOrder.LENLenderMid + " ";
		if !IsEmpty(AppOrder.LENLenderLast) then
			CN = CN + AppOrder.LENLenderLast + " ";
		if !IsEmpty(AppOrder.LENLenderSuffix) then
			CN = CN + AppOrder.LENLenderSuffix + " ";
		AppOrder.LENLender = StrTrim(CN);
	end;
end;


Formula:
routine main() returns nothing is
begin
	String CN;
	if IsEmpty(AppOrder.APRContact) then
	begin
		CN = "";
		if !IsEmpty(AppOrder.SUBAppraiserPrefix) then
			CN = CN + AppOrder.SUBAppraiserPrefix + " ";
		if !IsEmpty(AppOrder.SUBAppraiserFirst) then
			CN = CN + AppOrder.SUBAppraiserFirst + " ";
		if !IsEmpty(AppOrder.SUBAppraiserMid) then
			CN = CN + AppOrder.SUBAppraiserMid + " ";
		if !IsEmpty(AppOrder.SUBAppraiserLast) then
			CN = CN + AppOrder.SUBAppraiserLast + " ";
		if !IsEmpty(AppOrder.SUBAppraiserSuffix) then
			CN = CN + AppOrder.SUBAppraiserSuffix + " ";
		AppOrder.APRContact = StrTrim(CN);
	end;
end;


# Condo4to6

Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSULocation")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUFeeSimple")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUHOA")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUComElem")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUComElem2")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUSize")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUFlrLoc")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUView")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUDesign")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUQualConst")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUAge")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUCondition")
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC1ViewAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
begin
	string n;
	float subj, adj;
	n = Condo4to6.GC1ViewAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUView);
		adj = atof(StrMid(n,1));
		If !IsEmpty(Condominium.GC1View) Then
			Condominium.GC1ViewAdj = ToString(Round(((subj-atof(Condominium.GC1View))*adj)/100)*100);
		else
			Condominium.GC1ViewAdj = "";

		If !IsEmpty(Condominium.GC2View) Then
			Condominium.GC2ViewAdj = ToString(Round(((subj-atof(Condominium.GC2View))*adj)/100)*100);
		else
			Condominium.GC2ViewAdj = "";

		If !IsEmpty(Condominium.GC3View) Then
			Condominium.GC3ViewAdj = ToString(Round(((subj-atof(Condominium.GC3View))*adj)/100)*100);
		else
			Condominium.GC3ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC1ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC1View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj ="";

		If !IsEmpty(Condo4to6.GC2View) Then
			Condo4to6.GC2ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC2View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj ="";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC3ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC3View))*adj)/100)*100);
		else
			Condo4to6.GC3ViewAdj ="";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC1AgeAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value"  is
/* no depends Condo4to6.GSUAge Condo4to6.GC1AgeAdj Condo4to6.GC2AgeAdj Condo4to6.GC3AgeAdj */
begin
	string n;
	float subj, adj;
	n = Condo4to6.GC1AgeAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUAge);
		adj = atof(StrMid(n,1));
		If subj < 1000 Then
			adj = -adj;
		If !IsEmpty(Condominium.GC1Age) Then
			Condominium.GC1AgeAdj = ToString(Round(((subj-atof(Condominium.GC1Age))*adj)/100)*100);
		else
			Condominium.GC1AgeAdj = "";

		If !IsEmpty(Condominium.GC2Age) Then
			Condominium.GC2AgeAdj = ToString(Round(((subj-atof(Condominium.GC2Age))*adj)/100)*100);
		else
			Condominium.GC2AgeAdj = "";

		If !IsEmpty(Condominium.GC3Age) Then
			Condominium.GC3AgeAdj = ToString(Round(((subj-atof(Condominium.GC3Age))*adj)/100)*100);
		else
			Condominium.GC3AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC1AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC1Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC2Age) Then
			Condo4to6.GC2AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC2Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC3AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC3Age))*adj)/100)*100);
		else
			Condo4to6.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends Condo4to6.GC1NetAdj_Plus Condo4to6.GC1NetAdj_Minus */
begin
	float price, adj;
 	adj=atof(Condo4to6.GC1SalesFinAdj)	+ atof(Condo4to6.GC1SalesFin2Adj) +
		atof(Condo4to6.GC1DateOfSaleAdj)+ atof(Condo4to6.GC1LocationAdj) +
		atof(Condo4to6.GC1FeeSimpleAdj)	+ atof(Condo4to6.GC1HOAAdj) +
		atof(Condo4to6.GC1ComElemAdj)	+ atof(Condo4to6.GC1ComElem2Adj) +
		atof(Condo4to6.GC1SizeAdj)		+ atof(Condo4to6.GC1FlrLocAdj) +
		atof(Condo4to6.GC1ViewAdj)		+ atof(Condo4to6.GC1DesignAdj) +
		atof(Condo4to6.GC1QualConstAdj)	+ atof(Condo4to6.GC1AgeAdj) +
		atof(Condo4to6.GC1ConditionAdj)	+ atof(Condo4to6.GC1RoomsAdj) +
		atof(Condo4to6.GC1Rooms2Adj)	+ atof(Condo4to6.GC1GLASqFtAdj) +
		atof(Condo4to6.GC1BsmRoomsAdj)	+ atof(Condo4to6.GC1BsmRooms2Adj) +
		atof(Condo4to6.GC1FuncUtilAdj)	+ atof(Condo4to6.GC1HeatCoolAdj) +
		atof(Condo4to6.GC1EffItemsAdj)	+ atof(Condo4to6.GC1GarCptAdj) +
		atof(Condo4to6.GC1Amen1Adj)		+ atof(Condo4to6.GC1Amen2Adj) +
		atof(Condo4to6.GC1Amen3Adj);

	price = atof(Condo4to6.GC1SalePrice);
	Condo4to6.GC1NetAdj = ToString(Round(adj));
	Condo4to6.GC1AdjSale = ToString(Round(price+adj));

	if IsEmpty(ToString(adj,0)) then
	begin
		Condo4to6.GC1NetAdj_Plus = "";
		Condo4to6.GC1NetAdj_Minus = "";
	end;
	else if adj >= 0 then
	begin
		Condo4to6.GC1NetAdj_Plus = "X";
		Condo4to6.GC1NetAdj_Minus = "";
	end;
	Else
	begin
		Condo4to6.GC1NetAdj_Plus = "";
		Condo4to6.GC1NetAdj_Minus = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC2ViewAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
begin
	string n;
	float subj, adj;
	n = Condo4to6.GC2ViewAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUView);
		adj = atof(StrMid(n,1));
		If !IsEmpty(Condominium.GC1View) Then
			Condominium.GC1ViewAdj = ToString(Round(((subj-atof(Condominium.GC1View))*adj)/100)*100);
		else
			Condominium.GC1ViewAdj = "";

		If !IsEmpty(Condominium.GC2View) Then
			Condominium.GC2ViewAdj = ToString(Round(((subj-atof(Condominium.GC2View))*adj)/100)*100);
		else
			Condominium.GC2ViewAdj = "";

		If !IsEmpty(Condominium.GC3View) Then
			Condominium.GC3ViewAdj = ToString(Round(((subj-atof(Condominium.GC3View))*adj)/100)*100);
		else
			Condominium.GC3ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC1ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC1View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC2View) Then
			Condo4to6.GC2ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC2View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC3ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC3View))*adj)/100)*100);
		else
			Condo4to6.GC3ViewAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC2AgeAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUAge Condo4to6.GC1AgeAdj Condo4to6.GC2AgeAdj Condo4to6.GC3AgeAdj */
begin
	string n;
	float subj, adj;
	n = Condo4to6.GC2AgeAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUAge);
		adj = atof(StrMid(n,1));
		If subj < 1000 Then
			adj = -adj;
		If !IsEmpty(Condominium.GC1Age) Then
			Condominium.GC1AgeAdj = ToString(Round(((subj-atof(Condominium.GC1Age))*adj)/100)*100);
		else
			Condominium.GC1AgeAdj = "";

		If !IsEmpty(Condominium.GC2Age) Then
			Condominium.GC2AgeAdj = ToString(Round(((subj-atof(Condominium.GC2Age))*adj)/100)*100);
		else
			Condominium.GC2AgeAdj = "";

		If !IsEmpty(Condominium.GC3Age) Then
			Condominium.GC3AgeAdj = ToString(Round(((subj-atof(Condominium.GC3Age))*adj)/100)*100);
		else
			Condominium.GC3AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC1AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC1Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC2Age) Then
			Condo4to6.GC2AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC2Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC3AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC3Age))*adj)/100)*100);
		else
			Condo4to6.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends Condo4to6.GC2NetAdj_Plus Condo4to6.GC2NetAdj_Minus */
begin
	float price, adj;
 	adj=atof(Condo4to6.GC2SalesFinAdj)	+ atof(Condo4to6.GC2SalesFin2Adj) +
		atof(Condo4to6.GC2DateOfSaleAdj)	+ atof(Condo4to6.GC2LocationAdj) +
		atof(Condo4to6.GC2FeeSimpleAdj)	+ atof(Condo4to6.GC2HOAAdj) +
		atof(Condo4to6.GC2ComElemAdj)		+ atof(Condo4to6.GC2ComElem2Adj) +
		atof(Condo4to6.GC2SizeAdj)		+ atof(Condo4to6.GC2FlrLocAdj) +
		atof(Condo4to6.GC2ViewAdj)		+ atof(Condo4to6.GC2DesignAdj) +
		atof(Condo4to6.GC2QualConstAdj)	+ atof(Condo4to6.GC2AgeAdj) +
		atof(Condo4to6.GC2ConditionAdj)	+ atof(Condo4to6.GC2RoomsAdj) +
		atof(Condo4to6.GC2Rooms2Adj)		+ atof(Condo4to6.GC2GLASqFtAdj) +
		atof(Condo4to6.GC2BsmRoomsAdj)	+ atof(Condo4to6.GC2BsmRooms2Adj) +
		atof(Condo4to6.GC2FuncUtilAdj)	+ atof(Condo4to6.GC2HeatCoolAdj) +
		atof(Condo4to6.GC2EffItemsAdj)	+ atof(Condo4to6.GC2GarCptAdj) +
		atof(Condo4to6.GC2Amen1Adj)		+ atof(Condo4to6.GC2Amen2Adj) +
		atof(Condo4to6.GC2Amen3Adj);

	price = atof(Condo4to6.GC2SalePrice);
	Condo4to6.GC2NetAdj = ToString(Round(adj));
	Condo4to6.GC2AdjSale = ToString(Round(price+adj));

	if IsEmpty(ToString(adj,0)) then
	begin
		Condo4to6.GC2NetAdj_Plus = "";
		Condo4to6.GC2NetAdj_Minus = "";
	end;
	else if adj >= 0 Then
	begin
		Condo4to6.GC2NetAdj_Plus = "X";
		Condo4to6.GC2NetAdj_Minus = "";
	end;
	else
	begin
		Condo4to6.GC2NetAdj_Plus = "";
		Condo4to6.GC2NetAdj_Minus = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC3ViewAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
begin
	string n;
	float subj, adj;
	n = Condo4to6.GC3ViewAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUView);
		adj = atof(StrMid(n,1));
		If !IsEmpty(Condominium.GC1View) Then
			Condominium.GC1ViewAdj = ToString(Round(((subj-atof(Condominium.GC1View))*adj)/100)*100);
		else
			Condominium.GC1ViewAdj = "";

		If !IsEmpty(Condominium.GC2View) Then
			Condominium.GC2ViewAdj = ToString(Round(((subj-atof(Condominium.GC2View))*adj)/100)*100);
		else
			Condominium.GC2ViewAdj = "";

		If !IsEmpty(Condominium.GC3View) Then
			Condominium.GC3ViewAdj = ToString(Round(((subj-atof(Condominium.GC3View))*adj)/100)*100);
		else
			Condominium.GC3ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC1ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC1View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC2View) Then
			Condo4to6.GC2ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC2View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC3ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC3View))*adj)/100)*100);
		else
			Condo4to6.GC3ViewAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC3AgeAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUAge Condo4to6.GC1AgeAdj Condo4to6.GC2AgeAdj Condo4to6.GC3AgeAdj */
begin
	string n;
	float subj, adj;
	n = Condo4to6.GC3AgeAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUAge);
		adj = atof(StrMid(n,1));
		If subj < 1000 Then
			adj = -adj;
		If !IsEmpty(Condominium.GC1Age) Then
			Condominium.GC1AgeAdj = ToString(Round(((subj-atof(Condominium.GC1Age))*adj)/100)*100);
		else
			Condominium.GC1AgeAdj = "";

		If !IsEmpty(Condominium.GC2Age) Then
			Condominium.GC2AgeAdj = ToString(Round(((subj-atof(Condominium.GC2Age))*adj)/100)*100);
		else
			Condominium.GC2AgeAdj = "";

		If !IsEmpty(Condominium.GC3Age) Then
			Condominium.GC3AgeAdj = ToString(Round(((subj-atof(Condominium.GC3Age))*adj)/100)*100);
		else
			Condominium.GC3AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC1AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC1Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC2Age) Then
			Condo4to6.GC2AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC2Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC3AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC3Age))*adj)/100)*100);
		else
			Condo4to6.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends Condo4to6.GC3NetAdj_Plus Condo4to6.GC3NetAdj_Minus */
begin
	float price, adj;
 	adj=atof(Condo4to6.GC3SalesFinAdj)	+ atof(Condo4to6.GC3SalesFin2Adj) +
		atof(Condo4to6.GC3DateOfSaleAdj)+ atof(Condo4to6.GC3LocationAdj) +
		atof(Condo4to6.GC3FeeSimpleAdj)	+ atof(Condo4to6.GC3HOAAdj) +
		atof(Condo4to6.GC3ComElemAdj)	+ atof(Condo4to6.GC3ComElem2Adj) +
		atof(Condo4to6.GC3SizeAdj)		+ atof(Condo4to6.GC3FlrLocAdj) +
		atof(Condo4to6.GC3ViewAdj)		+ atof(Condo4to6.GC3DesignAdj) +
		atof(Condo4to6.GC3QualConstAdj)	+ atof(Condo4to6.GC3AgeAdj) +
		atof(Condo4to6.GC3ConditionAdj)	+ atof(Condo4to6.GC3RoomsAdj) +
		atof(Condo4to6.GC3Rooms2Adj)	+ atof(Condo4to6.GC3GLASqFtAdj) +
		atof(Condo4to6.GC3BsmRoomsAdj)	+ atof(Condo4to6.GC3BsmRooms2Adj) +
		atof(Condo4to6.GC3FuncUtilAdj)	+ atof(Condo4to6.GC3HeatCoolAdj) +
		atof(Condo4to6.GC3EffItemsAdj)	+ atof(Condo4to6.GC3GarCptAdj) +
		atof(Condo4to6.GC3Amen1Adj)		+ atof(Condo4to6.GC3Amen2Adj) +
		atof(Condo4to6.GC3Amen3Adj);

	price = atof(Condo4to6.GC3SalePrice);
	Condo4to6.GC3NetAdj = ToString(Round(adj));
	Condo4to6.GC3AdjSale = ToString(Round(price+adj));

	if IsEmpty(ToString(adj,0)) then
	begin
		Condo4to6.GC3NetAdj_Plus = "";
		Condo4to6.GC3NetAdj_Minus = "";
	end;
	else if adj >= 0 Then
	begin
		Condo4to6.GC3NetAdj_Plus = "X";
		Condo4to6.GC3NetAdj_Minus = "";
	end;
	Else
	begin
		Condo4to6.GC3NetAdj_Plus = "";
		Condo4to6.GC3NetAdj_Minus = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUTotRooms")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUBedrooms")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUBaths")
end;


Formula:
routine main() returns nothing,
affects "Condo4to6.GSUPriceGLA" is
begin
	CopyField("Condo4to6.GSUGLASqFt")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUBsmRooms")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUBsmRooms2")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUFuncUtil")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUHeatCool")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUEffItems")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUGarCpt")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUAmen1")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUAmen2")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUAmen3")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUAmen4")
end;


Formula:
routine main() returns nothing, 
requires Changed("Condo4to6.GC1GLASqFtAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUGLASqFt Condo4to6.GC1GLASqFtAdj Condo4to6.GC2GLASqFtAdj Condo4to6.GC3GLASqFtAdj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC1GLASqFtAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUGLASqFt);
		adj = atof(StrRight(n, StrLength(n)-1));
		If !IsEmpty(Condominium.GC1GLASqFt) Then
			Condominium.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC1GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC1GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC2GLASqFt) Then
			Condominium.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC2GLASqFtAdj))*adj)/100)*100);
		Else
			Condominium.GC2GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC3GLASqFt) Then
			Condominium.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC3GLASqFtAdj))*adj)/100)*100);
		Else
			Condominium.GC3GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC1GLASqFt) then
			Condo4to6.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC1GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC1GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC2GLASqFt) then
			Condo4to6.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC2GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC3GLASqFt) then
			Condo4to6.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC3GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC1BsmRoomsAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUBsmRooms Condo4to6.GC1BsmRoomsAdj Condo4to6.GC2BsmRoomsAdj Condo4to6.GC3BsmRoomsAdj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC1BsmRoomsAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms) Then
			Condominium.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC1BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC2BsmRooms) Then
			Condominium.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC2BsmRoomsAdj))*adj)/100)*100);
		Else
			Condominium.GC2BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC3BsmRooms) Then
			Condominium.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC3BsmRoomsAdj))*adj)/100)*100);
		Else
			Condominium.GC3BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms) then
			Condo4to6.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms) then
			Condo4to6.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms) then
			Condo4to6.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("Condo4to6.GC1BsmRooms2Adj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUBsmRooms2 Condo4to6.GC1BsmRooms2Adj Condo4to6.GC2BsmRooms2Adj Condo4to6.GC3BsmRooms2Adj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC1BsmRooms2Adj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms2);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms2) Then
			Condominium.GC1BsmRooms2Adj = Round(((subj-atof(Condominium.GC1BsmRooms2))*adj)/100)*100;
		Else
			Condominium.GC1BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC2BsmRooms2) Then
			Condominium.GC2BsmRooms2Adj = Round(((subj-atof(Condominium.GC2BsmRooms2Adj))*adj)/100)*100;
		Else
			Condominium.GC2BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC3BsmRooms2) Then
			Condominium.GC3BsmRooms2Adj = Round(((subj-atof(Condominium.GC3BsmRooms2Adj))*adj)/100)*100;
		Else
			Condominium.GC3BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms2) then
			Condo4to6.GC1BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC1BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC1BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms2) then
			Condo4to6.GC2BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC2BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC2BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms2) then
			Condo4to6.GC3BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC3BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC2BsmRooms2Adj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("Condo4to6.GC2GLASqFtAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUGLASqFt Condo4to6.GC1GLASqFtAdj Condo4to6.GC2GLASqFtAdj Condo4to6.GC3GLASqFtAdj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC2GLASqFtAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUGLASqFt);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1GLASqFt) Then
			Condominium.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC1GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC1GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC2GLASqFt) Then
			Condominium.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC2GLASqFtAdj))*adj)/100)*100);
		Else
			Condominium.GC2GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC3GLASqFt) Then
			Condominium.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC3GLASqFtAdj))*adj)/100)*100);
		Else
			Condominium.GC3GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC1GLASqFt) then
			Condo4to6.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC1GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC1GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC2GLASqFt) then
			Condo4to6.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC2GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC3GLASqFt) then
			Condo4to6.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC3GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condo4to6.GC2BsmRoomsAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUBsmRooms Condo4to6.GC1BsmRoomsAdj Condo4to6.GC2BsmRoomsAdj Condo4to6.GC3BsmRoomsAdj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC2BsmRoomsAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms) Then
			Condominium.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC1BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC2BsmRooms) Then
			Condominium.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC2BsmRoomsAdj))*adj)/100)*100);
		Else
			Condominium.GC2BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC3BsmRooms) Then
			Condominium.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC3BsmRoomsAdj))*adj)/100)*100);
		Else
			Condominium.GC3BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms) then
			Condo4to6.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms) then
			Condo4to6.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms) then
			Condo4to6.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("Condo4to6.GC2BsmRooms2Adj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUBsmRooms2 Condo4to6.GC1BsmRooms2Adj Condo4to6.GC2BsmRooms2Adj Condo4to6.GC3BsmRooms2Adj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC2BsmRooms2Adj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms2);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms2) Then
			Condominium.GC1BsmRooms2Adj = Round(((subj-atof(Condominium.GC1BsmRooms2))*adj)/100)*100;
		Else
			Condominium.GC1BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC2BsmRooms2) Then
			Condominium.GC2BsmRooms2Adj = Round(((subj-atof(Condominium.GC2BsmRooms2Adj))*adj)/100)*100;
		Else
			Condominium.GC2BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC3BsmRooms2) Then
			Condominium.GC3BsmRooms2Adj = Round(((subj-atof(Condominium.GC3BsmRooms2Adj))*adj)/100)*100;
		Else
			Condominium.GC3BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms2) then
			Condo4to6.GC1BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC1BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC1BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms2) then
			Condo4to6.GC2BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC2BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC2BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms2) then
			Condo4to6.GC3BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC3BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC2BsmRooms2Adj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("GC3GLASqFtAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUGLASqFt Condo4to6.GC1GLASqFtAdj Condo4to6.GC2GLASqFtAdj Condo4to6.GC3GLASqFtAdj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC3GLASqFtAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUGLASqFt);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1GLASqFt) Then
			Condominium.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC1GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC1GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC2GLASqFt) Then
			Condominium.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC2GLASqFtAdj))*adj)/100)*100);
		Else
			Condominium.GC2GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC3GLASqFt) Then
			Condominium.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC3GLASqFtAdj))*adj)/100)*100);
		Else
			Condominium.GC3GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC1GLASqFt) then
			Condo4to6.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC1GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC1GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC2GLASqFt) then
			Condo4to6.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC2GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC3GLASqFt) then
			Condo4to6.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC3GLASqFtAdj))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("GC3BsmRoomsAdj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUBsmRooms Condo4to6.GC1BsmRoomsAdj Condo4to6.GC2BsmRoomsAdj Condo4to6.GC3BsmRoomsAdj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC3BsmRoomsAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms) Then
			Condominium.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC1BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC2BsmRooms) Then
			Condominium.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC2BsmRoomsAdj))*adj)/100)*100);
		Else
			Condominium.GC2BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC3BsmRooms) Then
			Condominium.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC3BsmRoomsAdj))*adj)/100)*100);
		Else
			Condominium.GC3BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms) then
			Condo4to6.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms) then
			Condo4to6.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms) then
			Condo4to6.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRoomsAdj))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires !Changed("GC3BsmRooms2Adj"),
affects "Condo4to6.GC1NetAdj,Condo4to6.GC2NetAdj,Condo4to6.GC3NetAdj",
affects "Condo4to6.GC1GrossPct_Value,Condo4to6.GC1NetPct_Value",
affects "Condo4to6.GC2GrossPct_Value,Condo4to6.GC2NetPct_Value",
affects "Condo4to6.GC3GrossPct_Value,Condo4to6.GC3NetPct_Value" is
/* no depends Condo4to6.GSUBsmRooms2 Condo4to6.GC1BsmRooms2Adj Condo4to6.GC2BsmRooms2Adj Condo4to6.GC3BsmRooms2Adj */
begin
	string n;
	float adj, subj;
	n = Condo4to6.GC3BsmRooms2Adj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms2);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms2) Then
			Condominium.GC1BsmRooms2Adj = Round(((subj-atof(Condominium.GC1BsmRooms2))*adj)/100)*100;
		Else
			Condominium.GC1BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC2BsmRooms2) Then
			Condominium.GC2BsmRooms2Adj = Round(((subj-atof(Condominium.GC2BsmRooms2Adj))*adj)/100)*100;
		Else
			Condominium.GC2BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC3BsmRooms2) Then
			Condominium.GC3BsmRooms2Adj = Round(((subj-atof(Condominium.GC3BsmRooms2Adj))*adj)/100)*100;
		Else
			Condominium.GC3BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms2) then
			Condo4to6.GC1BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC1BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC1BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms2) then
			Condo4to6.GC2BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC2BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC2BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms2) then
			Condo4to6.GC3BsmRooms2Adj = Round(((subj-atof(Condo4to6.GC3BsmRooms2Adj))*adj)/100)*100;
		else
			Condo4to6.GC2BsmRooms2Adj = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUAddress1")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUAddress2")
end;


Formula:
routine main() returns nothing,
affects "Condo4to6.GSUPriceGLA" is
begin
	CopyField("Condo4to6.GSUSalePrice")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUPriceGLA")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUDataSource")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.GSUDataSource2")
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUPriorSale1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUPriorSale2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUPriorSale3");
end;


Formula:
routine main() returns nothing,
requires !Changed("Condo4to6.GC1PriceGLA") is
begin
	float area;
	area = atof(Condo4to6.GC1GLASqFt);
	if area != 0 then
		Condo4to6.GC1PriceGLA = ToString(atof(Condo4to6.GC1SalePrice)/area,5);
	else
		Condo4to6.GC1PriceGLA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("GC1GrossPct_Value") is
begin
	float price, sum;

	price = atof(Condo4to6.GC1SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Condo4to6.GC1SalesFinAdj))	+ abs(atof(Condo4to6.GC1SalesFin2Adj)) +
			abs(atof(Condo4to6.GC1DateOfSaleAdj))+abs(atof(Condo4to6.GC1LocationAdj)) +
			abs(atof(Condo4to6.GC1FeeSimpleAdj))+ abs(atof(Condo4to6.GC1HOAAdj)) +
			abs(atof(Condo4to6.GC1ComElemAdj))	+ abs(atof(Condo4to6.GC1ComElem2Adj)) +
			abs(atof(Condo4to6.GC1SizeAdj))		+ abs(atof(Condo4to6.GC1FlrLocAdj)) +
			abs(atof(Condo4to6.GC1ViewAdj))		+ abs(atof(Condo4to6.GC1DesignAdj)) +
			abs(atof(Condo4to6.GC1QualConstAdj))+ abs(atof(Condo4to6.GC1AgeAdj)) +
			abs(atof(Condo4to6.GC1ConditionAdj))+ abs(atof(Condo4to6.GC1RoomsAdj)) +
			abs(atof(Condo4to6.GC1Rooms2Adj))	+ abs(atof(Condo4to6.GC1GLASqFtAdj)) +
			abs(atof(Condo4to6.GC1BsmRoomsAdj))	+ abs(atof(Condo4to6.GC1BsmRooms2Adj)) +
			abs(atof(Condo4to6.GC1FuncUtilAdj))	+ abs(atof(Condo4to6.GC1HeatCoolAdj)) +
			abs(atof(Condo4to6.GC1EffItemsAdj))	+ abs(atof(Condo4to6.GC1GarCptAdj)) +
			abs(atof(Condo4to6.GC1Amen1Adj))	+ abs(atof(Condo4to6.GC1Amen2Adj)) +
			abs(atof(Condo4to6.GC1Amen3Adj));

		Condo4to6.GC1GrossPct_Value = ToString(sum/price * 100,5);
		Condo4to6.GC1GrossPct_Sign = "G:";
	end;
	else
	begin
		Condo4to6.GC1GrossPct_Value = "";
		Condo4to6.GC1GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condo4to6.GC1SalePrice);
	if price != 0 then
	begin
		sum=atof(Condo4to6.GC1SalesFinAdj)	+ atof(Condo4to6.GC1SalesFin2Adj) +
			atof(Condo4to6.GC1DateOfSaleAdj)+ atof(Condo4to6.GC1LocationAdj) +
			atof(Condo4to6.GC1FeeSimpleAdj)	+ atof(Condo4to6.GC1HOAAdj) +
			atof(Condo4to6.GC1ComElemAdj)	+ atof(Condo4to6.GC1ComElem2Adj) +
			atof(Condo4to6.GC1SizeAdj)		+ atof(Condo4to6.GC1FlrLocAdj) +
			atof(Condo4to6.GC1ViewAdj)		+ atof(Condo4to6.GC1DesignAdj) +
			atof(Condo4to6.GC1QualConstAdj)	+ atof(Condo4to6.GC1AgeAdj) +
			atof(Condo4to6.GC1ConditionAdj)	+ atof(Condo4to6.GC1RoomsAdj) +
			atof(Condo4to6.GC1Rooms2Adj)	+ atof(Condo4to6.GC1GLASqFtAdj) +
			atof(Condo4to6.GC1BsmRoomsAdj)	+ atof(Condo4to6.GC1BsmRooms2Adj) +
			atof(Condo4to6.GC1FuncUtilAdj)	+ atof(Condo4to6.GC1HeatCoolAdj) +
			atof(Condo4to6.GC1EffItemsAdj)	+ atof(Condo4to6.GC1GarCptAdj) +
			atof(Condo4to6.GC1Amen1Adj)		+ atof(Condo4to6.GC1Amen2Adj) +
			atof(Condo4to6.GC1Amen3Adj);

		Condo4to6.GC1NetPct_Value = ToString(Abs(sum)/price*100,5);
		Condo4to6.GC1NetPct_Sign = "N:";
	end;
	else
	begin
		Condo4to6.GC1NetPct_Value = "";
		Condo4to6.GC1NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("Condo4to6.GC2PriceGLA") is
begin
	float area;
	area = atof(Condo4to6.GC2GLASqFt);
	if area != 0 then
		Condo4to6.GC2PriceGLA = ToString(atof(Condo4to6.GC2SalePrice)/area,5);
	else
		Condo4to6.GC2PriceGLA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("GC2GrossPct_Value") is
begin
	float price, sum;

	price = atof(Condo4to6.GC2SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Condo4to6.GC2SalesFinAdj))	+ abs(atof(Condo4to6.GC2SalesFin2Adj)) +
			abs(atof(Condo4to6.GC2DateOfSaleAdj))+abs(atof(Condo4to6.GC2LocationAdj)) +
			abs(atof(Condo4to6.GC2FeeSimpleAdj))+ abs(atof(Condo4to6.GC2HOAAdj)) +
			abs(atof(Condo4to6.GC2ComElemAdj))	+ abs(atof(Condo4to6.GC2ComElem2Adj)) +
			abs(atof(Condo4to6.GC2SizeAdj))		+ abs(atof(Condo4to6.GC2FlrLocAdj)) +
			abs(atof(Condo4to6.GC2ViewAdj))		+ abs(atof(Condo4to6.GC2DesignAdj)) +
			abs(atof(Condo4to6.GC2QualConstAdj))+ abs(atof(Condo4to6.GC2AgeAdj)) +
			abs(atof(Condo4to6.GC2ConditionAdj))+ abs(atof(Condo4to6.GC2RoomsAdj)) +
			abs(atof(Condo4to6.GC2Rooms2Adj))	+ abs(atof(Condo4to6.GC2GLASqFtAdj)) +
			abs(atof(Condo4to6.GC2BsmRoomsAdj))	+ abs(atof(Condo4to6.GC2BsmRooms2Adj)) +
			abs(atof(Condo4to6.GC2FuncUtilAdj))	+ abs(atof(Condo4to6.GC2HeatCoolAdj)) +
			abs(atof(Condo4to6.GC2EffItemsAdj))	+ abs(atof(Condo4to6.GC2GarCptAdj)) +
			abs(atof(Condo4to6.GC2Amen1Adj))	+ abs(atof(Condo4to6.GC2Amen2Adj)) +
			abs(atof(Condo4to6.GC2Amen3Adj));

		Condo4to6.GC2GrossPct_Value = ToString(sum/price * 100,5);
		Condo4to6.GC2GrossPct_Sign = "G:";
	end;
	else
	begin
		Condo4to6.GC2GrossPct_Value = "";
		Condo4to6.GC2GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condo4to6.GC2SalePrice);
	if price != 0 then
	begin
		sum=atof(Condo4to6.GC2SalesFinAdj)	+ atof(Condo4to6.GC2SalesFin2Adj) +
			atof(Condo4to6.GC2DateOfSaleAdj)+ atof(Condo4to6.GC2LocationAdj) +
			atof(Condo4to6.GC2FeeSimpleAdj)	+ atof(Condo4to6.GC2HOAAdj) +
			atof(Condo4to6.GC2ComElemAdj)	+ atof(Condo4to6.GC2ComElem2Adj) +
			atof(Condo4to6.GC2SizeAdj)		+ atof(Condo4to6.GC2FlrLocAdj) +
			atof(Condo4to6.GC2ViewAdj)		+ atof(Condo4to6.GC2DesignAdj) +
			atof(Condo4to6.GC2QualConstAdj)	+ atof(Condo4to6.GC2AgeAdj) +
			atof(Condo4to6.GC2ConditionAdj)	+ atof(Condo4to6.GC2RoomsAdj) +
			atof(Condo4to6.GC2Rooms2Adj)	+ atof(Condo4to6.GC2GLASqFtAdj) +
			atof(Condo4to6.GC2BsmRoomsAdj)	+ atof(Condo4to6.GC2BsmRooms2Adj) +
			atof(Condo4to6.GC2FuncUtilAdj)	+ atof(Condo4to6.GC2HeatCoolAdj) +
			atof(Condo4to6.GC2EffItemsAdj)	+ atof(Condo4to6.GC2GarCptAdj) +
			atof(Condo4to6.GC2Amen1Adj)		+ atof(Condo4to6.GC2Amen2Adj) +
			atof(Condo4to6.GC2Amen3Adj);

		Condo4to6.GC2NetPct_Value = ToString(Abs(sum)/price*100,5);
		Condo4to6.GC2NetPct_Sign = "N:";
	end;
	else
	begin
		Condo4to6.GC2NetPct_Value = "";
		Condo4to6.GC2NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("Condo4to6.GC3PriceGLA") is
begin
	float area;
	area = atof(Condo4to6.GC3GLASqFt);
	if area != 0 then
		Condo4to6.GC3PriceGLA = ToString(atof(Condo4to6.GC3SalePrice)/area,5);
	else
		Condo4to6.GC3PriceGLA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("GC3GrossPct_Value") is
begin
	float price, sum;

	price = atof(Condo4to6.GC3SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Condo4to6.GC3SalesFinAdj))	+ abs(atof(Condo4to6.GC3SalesFin2Adj)) +
			abs(atof(Condo4to6.GC3DateOfSaleAdj))+abs(atof(Condo4to6.GC3LocationAdj)) +
			abs(atof(Condo4to6.GC3FeeSimpleAdj))+ abs(atof(Condo4to6.GC3HOAAdj)) +
			abs(atof(Condo4to6.GC3ComElemAdj))	+ abs(atof(Condo4to6.GC3ComElem2Adj)) +
			abs(atof(Condo4to6.GC3SizeAdj))		+ abs(atof(Condo4to6.GC3FlrLocAdj)) +
			abs(atof(Condo4to6.GC3ViewAdj))		+ abs(atof(Condo4to6.GC3DesignAdj)) +
			abs(atof(Condo4to6.GC3QualConstAdj))+ abs(atof(Condo4to6.GC3AgeAdj)) +
			abs(atof(Condo4to6.GC3ConditionAdj))+ abs(atof(Condo4to6.GC3RoomsAdj)) +
			abs(atof(Condo4to6.GC3Rooms2Adj))	+ abs(atof(Condo4to6.GC3GLASqFtAdj)) +
			abs(atof(Condo4to6.GC3BsmRoomsAdj))	+ abs(atof(Condo4to6.GC3BsmRooms2Adj)) +
			abs(atof(Condo4to6.GC3FuncUtilAdj))	+ abs(atof(Condo4to6.GC3HeatCoolAdj)) +
			abs(atof(Condo4to6.GC3EffItemsAdj))	+ abs(atof(Condo4to6.GC3GarCptAdj)) +
			abs(atof(Condo4to6.GC3Amen1Adj))	+ abs(atof(Condo4to6.GC3Amen2Adj)) +
			abs(atof(Condo4to6.GC3Amen3Adj));

		Condo4to6.GC3GrossPct_Value = ToString(sum/price * 100,5);
		Condo4to6.GC3GrossPct_Sign = "G:";
	end;
	else
	begin
		Condo4to6.GC3GrossPct_Value = "";
		Condo4to6.GC3GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condo4to6.GC3SalePrice);
	if price != 0 then
	begin
		sum=atof(Condo4to6.GC3SalesFinAdj)	+ atof(Condo4to6.GC3SalesFin2Adj) +
			atof(Condo4to6.GC3DateOfSaleAdj)+ atof(Condo4to6.GC3LocationAdj) +
			atof(Condo4to6.GC3FeeSimpleAdj)	+ atof(Condo4to6.GC3HOAAdj) +
			atof(Condo4to6.GC3ComElemAdj)	+ atof(Condo4to6.GC3ComElem2Adj) +
			atof(Condo4to6.GC3SizeAdj)		+ atof(Condo4to6.GC3FlrLocAdj) +
			atof(Condo4to6.GC3ViewAdj)		+ atof(Condo4to6.GC3DesignAdj) +
			atof(Condo4to6.GC3QualConstAdj)	+ atof(Condo4to6.GC3AgeAdj) +
			atof(Condo4to6.GC3ConditionAdj)	+ atof(Condo4to6.GC3RoomsAdj) +
			atof(Condo4to6.GC3Rooms2Adj)	+ atof(Condo4to6.GC3GLASqFtAdj) +
			atof(Condo4to6.GC3BsmRoomsAdj)	+ atof(Condo4to6.GC3BsmRooms2Adj) +
			atof(Condo4to6.GC3FuncUtilAdj)	+ atof(Condo4to6.GC3HeatCoolAdj) +
			atof(Condo4to6.GC3EffItemsAdj)	+ atof(Condo4to6.GC3GarCptAdj) +
			atof(Condo4to6.GC3Amen1Adj)		+ atof(Condo4to6.GC3Amen2Adj) +
			atof(Condo4to6.GC3Amen3Adj);

		Condo4to6.GC3NetPct_Value = ToString(Abs(sum)/price*100,5);
		Condo4to6.GC3NetPct_Sign = "N:";
	end;
	else
	begin
		Condo4to6.GC3NetPct_Value = "";
		Condo4to6.GC3NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condo4to6.FileNumber");
end;


# Condominium

Formula:
routine main() returns nothing is
begin
	Condominium.ClientCaseNumber2 = Condominium.ClientCaseNumber;
	CopyField("Condominium.ClientCaseNumber");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAddress1" is
begin
	if !Changed("Condominium.GSUAddress1") then
		Condominium.GSUAddress1 = Condominium.SUBPropAddress;
	CopyField("Condominium.SUBPropAddress");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAddress2" is
/* no depends Condominium.SUBState Condominium.SUBZip */
begin
	CopyField("Condominium.SUBCity");
	begin
		Condominium.SUBPropCityStateZip = Condominium.SUBCity + ", " +
			Condominium.SUBState + " " + Condominium.SUBZip;
	end;
	CopyField("Condominium.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAddress2" is
/* no depends Condominium.SUBCity Condominium.SUBZip */
begin
	CopyField("Condominium.SUBState");
	begin
		Condominium.SUBPropCityStateZip = Condominium.SUBCity + ", " +
			Condominium.SUBState + " " + Condominium.SUBZip;
	end;
	CopyField("Condominium.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Condominium.SUBCity Condominium.SUBState */
begin
	CopyField("Condominium.SUBZip");
	begin
		Condominium.SUBPropCityStateZip = Condominium.SUBCity + ", " +
			Condominium.SUBState + " " + Condominium.SUBZip;
	end;
	CopyField("Condominium.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBUnitNum");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBParcelNum");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBTaxYear");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBRETax");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBSpecAssess");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBProjName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBCenTract");
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.SUBCurOwner") is
begin
	Condominium.SUBCurOwner = Condominium.SUBBorrower;
	CopyField("Condominium.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBCurOwner");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSULeasehold" is
begin
	if !IsEmpty(Condominium.SUBPRA_FeeSimple) then
	begin
		Condominium.GSULeasehold = "Fee Simple";
		Condominium.SUBPRA_Leasehold = "";
	end;
	CopyField("Condominium.SUBPRA_FeeSimple");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSULeasehold" is
begin
	if !IsEmpty(Condominium.SUBPRA_Leasehold) then
	begin
		Condominium.GSULeasehold = "Leasehold";
		Condominium.SUBPRA_FeeSimple = "";
	end;
	CopyField("Condominium.SUBPRA_Leasehold");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBHOA");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUSalePrice" is
begin
	CopyField("Condominium.SUBSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBLoanConc");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBLCAddress");
end;


Formula:
routine main() returns nothing,
affects "Condominium.RECAppraiser" is
begin
	if !Changed("Condominium.RECAppraiser") then
		Condominium.RECAppraiser = Condominium.SUBAppraiser;
	CopyField("Condominium.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.SUBApprAddress");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.SFHPRO_Owner) and IsEmpty(Condominium.SFHPRO_Tenant) then
	begin
		Condominium.SFHOwner_Box = "";
		Condominium.SFHTenent_Box = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SFHPricePred") is
begin
	float price;
	price = atof(Condominium.SFHPricePred);
	if price < atof(Condominium.SFHPriceLow) then
		Message("Warning: Single family predominant price below low price",2);
	else if price > atof(Condominium.SFHPriceHigh) then
		Message("Warning: Single family predominant price above high price",2);
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.SFHAgePred") is
begin
	float age;
	age = atof(Condominium.SFHAgePred);
	if age < atof(Condominium.SFHAgeLow) then
		Message("Warning: Single family predominant age below low age",2);
	else if age > atof(Condominium.SFHAgeHigh) then
		Message("Warning: Single family predominant age above high age",2);
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.CDOPRO_Owner) and IsEmpty(Condominium.CDOPRO_Tenant) then
		Condominium.CDOOwner_Box = "";
end;


Formula:
routine main() returns nothing,
requires Changed("CDOPricePred") is
begin
	float price;
	price = atof(Condominium.CDOPricePred);
	if price < atof(Condominium.CDOPriceLow) then
		Message("Warning: Condominium predominant price below low price",2);
	else if price > atof(Condominium.CDOPriceHigh) then
		Message("Warning: Condominium predominant price above high price",2);
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.CDOAgePred") is
begin
	float age;
	age = atof(Condominium.CDOAgePred);
	if age < atof(Condominium.CDOAgeLow) then
		Message("Warning: Condominium predominant age below low age",2);
	else if age > atof(Condominium.CDOAgeHigh) then
		Message("Warning: Condominium predominant age above high age",2);
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.LUC_InProcess) then
		Condominium.LUC_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.SITHBUse_Other) then
		Condominium.SITHBUse_Explain = "";
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUView" is
begin
	if !Changed("Condominium.GSUView") then
		Condominium.GSUView = Condominium.SITView;
end;


Formula:
routine main() returns nothing is
begin
	If IsEmpty(Condominium.PJIPRT_Other) Then
		Condominium.PJIPRTOther_Type = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Condominium.PJIMtrHC_Yes) then
		Condominium.PJIMtrHC_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Condominium.PJIMtrHC_No) then
	begin
		Condominium.PJIMtrHC_Yes = "";
		Condominium.PJIMtrHC_Describe = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Condominium.PJIHOABldr_Yes) then
		Condominium.PJIHOABldr_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Condominium.PJIHOABldr_No) then
		Condominium.PJIHOABldr_Yes = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.RMSBsmAreaSqFt"),
affects "Condominium.GSUBsmRooms" is
begin
	Condominium.RMSBsmAreaSqFt = GetArea("BasementArea");
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.RMSLv1AreaSqFt"),
affects "Condominium.RMSAGSqFtGLA" is
begin
	Condominium.RMSLv1AreaSqFt = GetArea("LevelOneArea");
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.RMSLv2AreaSqFt"),
affects "Condominium.RMSAGSqFtGLA" is
begin
	Condominium.RMSLv2AreaSqFt = GetArea("LevelTwoArea");
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.RMSOthAreaSqFt"),
affects "Condominium.RMSAGSqFtGLA" is
begin
	Condominium.RMSOthAreaSqFt = GetArea("OtherAreas");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUTotRooms" is
begin
	integer t1, t2, t3;
	t1 = atoi(Condominium.RMSLv1Foyer) + atoi(Condominium.RMSLv1Living) + 
		 atoi(Condominium.RMSLv1Dining) + atoi(Condominium.RMSLv1Kitchen) +
		 atoi(Condominium.RMSLv1Den) + atoi(Condominium.RMSLv1FamilyRm) +
		 atoi(Condominium.RMSLv1RecRm) + atoi(Condominium.RMSLv1Bedrooms) + 	
		 atoi(Condominium.RMSLv1Laundry);

	t2 = atoi(Condominium.RMSLv2Foyer) + atoi(Condominium.RMSLv2Living) +
		 atoi(Condominium.RMSLv2Dining) + atoi(Condominium.RMSLv2Kitchen) +
		 atoi(Condominium.RMSLv2Den) + atoi(Condominium.RMSLv2FamilyRm) +
		 atoi(Condominium.RMSLv2RecRm) + atoi(Condominium.RMSLv2Bedrooms) +
		 atoi(Condominium.RMSLv2Laundry);

	t3 = atoi(Condominium.RMSOthFoyer) + atoi(Condominium.RMSOthLiving) +
		 atoi(Condominium.RMSOthDining) + atoi(Condominium.RMSOthKitchen) +
		 atoi(Condominium.RMSOthDen) + atoi(Condominium.RMSOthFamilyRm) +
		 atoi(Condominium.RMSOthRecRm) + atoi(Condominium.RMSOthBedrooms) +
		 atoi(Condominium.RMSOthLaundry);

	Condominium.RMSAGTotRooms = ToString(t1 + t2 + t3);
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUBedrooms" is
begin
	integer val;
	val = atoi(Condominium.RMSLv1Bedrooms) + atoi(Condominium.RMSLv2Bedrooms) + 
		  atoi(Condominium.RMSOthBedrooms);
	Condominium.RMSAGTotBedrooms = ToString(val);
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUBaths" is
begin
	float val;
	val = atof(Condominium.RMSLv1Baths) + atof(Condominium.RMSLv2Baths) + 
		  atof(Condominium.RMSOthBaths);
	Condominium.RMSAGTotBaths = ToString(val,5);
end;


Formula:
routine main() returns nothing,
affects "Condominium.UNTAnnualFee,Condominium.GSUGLASqFt,Condominium.GSUPriceGLA," is
begin
	string area;
	integer size;
	if !Changed("Condominium.RMSAGSqFtGLA") then
	begin
		area = GetArea("GrossLivingArea");
		if IsEmpty(area) then
		begin
			size=atof(Condominium.RMSLv1AreaSqFt) + atof(Condominium.RMSLv2AreaSqFt) + 
				 atof(Condominium.RMSOthAreaSqFt);
			area = ToString(size, 5);
		end;
		Condominium.RMSAGSqFtGLA = area;
	end;

	if !Changed("Condominium.GSUGLASqFt") then
		Condominium.GSUGLASqFt = Condominium.RMSAGSqFtGLA;
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAmen2" is
begin
	if IsEmpty(Condominium.AMNFireplace) then
		Condominium.AMNFireplace_Box = "";
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAmen1" is
begin
	if IsEmpty(Condominium.AMNPatio) then
		Condominium.AMNPatio_Box = "";
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAmen1" is
begin
	if IsEmpty(Condominium.AMNBalcony) then
		Condominium.AMNBalcony_Box = "";
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAmen1" is
begin
	if IsEmpty(Condominium.AMNDeck) then
		Condominium.AMNDeck_Box = "";
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUAmen1" is
begin
	if IsEmpty(Condominium.AMNPorch) then
		Condominium.AMNPorch_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.AMNFence) then
		Condominium.AMNFence_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.AMNOther) then
		Condominium.AMNOther_Box = "";
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUGarCpt" is
begin
	if !IsEmpty(Condominium.CARNone) then
	begin
		Condominium.CARGarage = "";
		Condominium.CAROpen = "";
		Condominium.CAROther = "";
		Condominium.CAROther2 = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUGarCpt" is
begin
	if IsEmpty(Condominium.CARGarage) then
		Condominium.CAROther = "";
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUGarCpt" is
begin
	if IsEmpty(Condominium.CAROpen) then
		Condominium.CAROther2 = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.INSRoof) then
		Condominium.INSRoof_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.INSCeiling) then
		Condominium.INSCeiling_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.INSWalls) then
		Condominium.INSWalls_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.INSFloor) then
		Condominium.INSFloor_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.INSNone) then
		Condominium.INSNone_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.INSUnknown) then
		Condominium.INSUnknown_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.INSOther) then
		Condominium.INSOther_Box = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.UNTAnnualFee") is
begin
	Condominium.UNTAnnualFee = ToString(atof(Condominium.UNTMonthFee)*12, 5);
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.UNTAnnualAssm") is
begin
	float gla;
	gla = atof(Condominium.RMSAGSqFtGLA);
	if gla != 0 then
		Condominium.UNTAnnualAssm = ToString(atof(Condominium.UNTAnnualFee) / gla, 5);
	else
		Condominium.UNTAnnualAssm = "0";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.UNTGrRent_Yes) then
		Condominium.UNTGrRentAmt = "";
	else
		Condominium.UNTGrRent_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Condominium.UNTGrRent_No) then
	begin
		Condominium.UNTGrRent_Yes = "";
		Condominium.UNTGrRentAmt = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.UNTMgmtGrp_Text") is
begin
	if IsEmpty(Condominium.UNTMgmtGrp_Agent) then
		Condominium.UNTMgmtGrp_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Condominium.GSUAddress1) and !Changed("Condominium.GSUAddress1") then
		Condominium.GSUAddress1 = Condominium.SUBPropAddress;
	CopyField("Condominium.GSUAddress1");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Condominium.GSUAddress2") then
		Condominium.GSUAddress2 = Condominium.SUBCity + ", " + 
			Condominium.SUBState;
	CopyField("Condominium.GSUAddress2");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUPriceGLA" is
begin
	if !Changed("Condominium.GSUSalePrice") then
		Condominium.GSUSalePrice = Condominium.SUBSalePrice;
	CopyField("Condominium.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	float area;
	if  !Changed("Condominium.GSUPriceGLA") then
	begin
		if IsEmpty(Condominium.GSUGLASqFt) then
			Condominium.GSUGLASqFt = Condominium.RMSAGSqFtGLA;

		area = atof(Condominium.GSUGLASqFt);
		if area > 0 then
			Condominium.GSUPriceGLA = ToString(atof(Condominium.GSUSalePrice)/area,5);
		else
			Condominium.GSUPriceGLA = "";
	end;
	CopyField("Condominium.GSUPriceGLA");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUDataSource");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUDataSource2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUPriorSale1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUPriorSale2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUPriorSale3");
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.GC1PriceGLA") is
begin
	float area;
	area = atof(Condominium.GC1GLASqFt);
	if area != 0 then
		Condominium.GC1PriceGLA = ToString(atof(Condominium.GC1SalePrice)/area,5);
	else
		Condominium.GC1PriceGLA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.GC2PriceGLA") is
begin
	float area;
	area = atof(Condominium.GC2GLASqFt);
	if area != 0 then
		Condominium.GC2PriceGLA = ToString(atof(Condominium.GC2SalePrice)/area,5);
	else
		Condominium.GC2PriceGLA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("Condominium.GC3PriceGLA") is
begin
	float area;
	area = atof(Condominium.GC3GLASqFt);
	if area != 0 then
		Condominium.GC3PriceGLA = ToString(atof(Condominium.GC3SalePrice)/area,5);
	else
		Condominium.GC3PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	string fld;
	if  !Changed("Condominium.GSUFeeSimple") then
	begin
		If !IsEmpty(Condominium.SUBPRA_FeeSimple) then
			fld = "Fee Simple";
		else if !IsEmpty(Condominium.SUBPRA_Leasehold) then
			fld = "Leasehold";
		else
			fld = "";
		Condominium.GSUFeeSimple = fld;
	end;
	CopyField("Condominium.GSUFeeSimple");
end;


Formula:
routine main() returns nothing is
begin
	if  !Changed("Condominium.GSUHOA") then
		Condominium.GSUHOA = Condominium.SUBHOA;
	CopyField("Condominium.GSUHOA");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUComElem");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUComElem2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUSize");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUFlrLoc");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Condominium.GSUView") THEN
		Condominium.GSUView = Condominium.SITView;
	CopyField("Condominium.GSUView");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUDesign");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUQualConst");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Condominium.GSUAge") then
		Condominium.GSUAge = Condominium.PJIYrBuilt;
	CopyField("Condominium.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUCondition");
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.GC1ViewAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUView Condominium.GC1View Condominium.GC2View Condominium.GC3View */
begin
	string n;
	float subj, adj;
	n = Condominium.GC1ViewAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUView);
		adj = atof(StrMid(n,1));
		If !IsEmpty(Condominium.GC1View) Then
			Condominium.GC1ViewAdj = ToString(Round(((subj-atof(Condominium.GC1View))*adj)/100)*100);
		else
			Condominium.GC1ViewAdj = "";

		If !IsEmpty(Condominium.GC2View) Then
			Condominium.GC2ViewAdj = ToString(Round(((subj-atof(Condominium.GC2View))*adj)/100)*100);
		else
			Condominium.GC2ViewAdj = "";

		If !IsEmpty(Condominium.GC3View) Then
			Condominium.GC3ViewAdj = ToString(Round(((subj-atof(Condominium.GC3View))*adj)/100)*100);
		else
			Condominium.GC3ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC1ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC1View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC2View) Then
			Condo4to6.GC2ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC2View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC3ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC3View))*adj)/100)*100);
		else
			Condo4to6.GC3ViewAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.GC1AgeAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUAge Condominium.GC1Age Condominium.GC2Age Condominium.GC3Age */
begin
	string n;
	float subj, adj;
	n = Condominium.GC1AgeAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUAge);
		adj = atof(StrMid(n,1));
		If subj < 1000 Then
			adj = 0-adj;
		If !IsEmpty(Condominium.GC1Age) Then
			Condominium.GC1AgeAdj = ToString(Round(((subj-atof(Condominium.GC1Age))*adj)/100)*100);
		else
			Condominium.GC1AgeAdj = "";

		If !IsEmpty(Condominium.GC2Age) Then
			Condominium.GC2AgeAdj = ToString(Round(((subj-atof(Condominium.GC2Age))*adj)/100)*100);
		else
			Condominium.GC2AgeAdj = "";

		If !IsEmpty(Condominium.GC3Age) Then
			Condominium.GC3AgeAdj = ToString(Round(((subj-atof(Condominium.GC3Age))*adj)/100)*100);
		else
			Condominium.GC3AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC1AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC1Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC2Age) Then
			Condo4to6.GC2AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC2Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC3AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC3Age))*adj)/100)*100);
		else
			Condo4to6.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.GC2ViewAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUView Condominium.GC1View Condominium.GC2View Condominium.GC3View */
begin
	string n;
	float subj, adj;
	n = Condominium.GC2ViewAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUView);
		adj = atof(StrMid(n,1));
		If !IsEmpty(Condominium.GC1View) Then
			Condominium.GC1ViewAdj = ToString(Round(((subj-atof(Condominium.GC1View))*adj)/100)*100);
		else
			Condominium.GC1ViewAdj = "";

		If !IsEmpty(Condominium.GC2View) Then
			Condominium.GC2ViewAdj = ToString(Round(((subj-atof(Condominium.GC2View))*adj)/100)*100);
		else
			Condominium.GC2ViewAdj = "";

		If !IsEmpty(Condominium.GC3View) Then
			Condominium.GC3ViewAdj = ToString(Round(((subj-atof(Condominium.GC3View))*adj)/100)*100);
		else
			Condominium.GC3ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC1ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC1View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC2View) Then
			Condo4to6.GC2ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC2View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC3ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC3View))*adj)/100)*100);
		else
			Condo4to6.GC3ViewAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.GC2AgeAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUAge Condominium.GC1Age Condominium.GC2Age Condominium.GC3Age */
begin
	string n;
	float subj, adj;
	n = Condominium.GC2AgeAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUAge);
		adj = atof(StrMid(n,1));
		If subj < 1000 Then
			adj = 0-adj;
		If !IsEmpty(Condominium.GC1Age) Then
			Condominium.GC1AgeAdj = ToString(Round(((subj-atof(Condominium.GC1Age))*adj)/100)*100);
		else
			Condominium.GC1AgeAdj = "";

		If !IsEmpty(Condominium.GC2Age) Then
			Condominium.GC2AgeAdj = ToString(Round(((subj-atof(Condominium.GC2Age))*adj)/100)*100);
		else
			Condominium.GC2AgeAdj = "";

		If !IsEmpty(Condominium.GC3Age) Then
			Condominium.GC3AgeAdj = ToString(Round(((subj-atof(Condominium.GC3Age))*adj)/100)*100);
		else
			Condominium.GC3AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC1AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC1Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC2Age) Then
			Condo4to6.GC2AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC2Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC3AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC3Age))*adj)/100)*100);
		else
			Condo4to6.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.GC3ViewAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUView Condominium.GC1View Condominium.GC2View Condominium.GC3View */
begin
	string n;
	float subj, adj;
	n = Condominium.GC3ViewAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUView);
		adj = atof(StrRight(n,StrLength(n)-1));
		If !IsEmpty(Condominium.GC1View) Then
			Condominium.GC1ViewAdj = ToString(Round(((subj-atof(Condominium.GC1View))*adj)/100)*100);
		else
			Condominium.GC1ViewAdj = "";

		If !IsEmpty(Condominium.GC2View) Then
			Condominium.GC2ViewAdj = ToString(Round(((subj-atof(Condominium.GC2View))*adj)/100)*100);
		else
			Condominium.GC2ViewAdj = "";

		If !IsEmpty(Condominium.GC3View) Then
			Condominium.GC3ViewAdj = ToString(Round(((subj-atof(Condominium.GC3View))*adj)/100)*100);
		else
			Condominium.GC3ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC1ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC1View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC2View) Then
			Condo4to6.GC2ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC2View))*adj)/100)*100);
		else
			Condo4to6.GC1ViewAdj = "";

		If !IsEmpty(Condo4to6.GC1View) Then
			Condo4to6.GC3ViewAdj = ToString(Round(((subj-atof(Condo4to6.GC3View))*adj)/100)*100);
		else
			Condo4to6.GC3ViewAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.GC3AgeAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUAge Condominium.GC1Age Condominium.GC2Age Condominium.GC3Age */
begin
	string n;
	float subj, adj;
	n = Condominium.GC3AgeAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUAge);
		adj = atof(StrMid(n,1));
		If subj < 1000 Then
			adj = 0-adj;
		If !IsEmpty(Condominium.GC1Age) Then
			Condominium.GC1AgeAdj = ToString(Round(((subj-atof(Condominium.GC1Age))*adj)/100)*100);
		else
			Condominium.GC1AgeAdj = "";

		If !IsEmpty(Condominium.GC2Age) Then
			Condominium.GC2AgeAdj = ToString(Round(((subj-atof(Condominium.GC2Age))*adj)/100)*100);
		else
			Condominium.GC2AgeAdj = "";

		If !IsEmpty(Condominium.GC3Age) Then
			Condominium.GC3AgeAdj = ToString(Round(((subj-atof(Condominium.GC3Age))*adj)/100)*100);
		else
			Condominium.GC3AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC1AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC1Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC2Age) Then
			Condo4to6.GC2AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC2Age))*adj)/100)*100);
		else
			Condo4to6.GC1AgeAdj = "";

		If !IsEmpty(Condo4to6.GC1Age) Then
			Condo4to6.GC3AgeAdj = ToString(Round(((subj-atof(Condo4to6.GC3Age))*adj)/100)*100);
		else
			Condo4to6.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Condominium.GSUTotRooms") then
		Condominium.GSUTotRooms = Condominium.RMSAGTotRooms;
	CopyField("Condominium.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Condominium.GSUBedrooms") then
	begin
		Condominium.GSUBedrooms = Condominium.RMSAGTotBedrooms;
	end;
	CopyField("Condominium.GSUBedrooms");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Condominium.GSUBaths") then
		Condominium.GSUBaths = Condominium.RMSAGTotBaths;
	CopyField("Condominium.GSUBaths");
end;


Formula:
routine main() returns nothing,
affects "Condominium.GSUPriceGLA" is
begin
	if IsEmpty(Condominium.GSUGLASqFt) then
		Condominium.GSUGLASqFt = ondominium.RMSAGSqFtGLA;

	CopyField("Condominium.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Condominium.GSUBsmRooms") then
		Condominium.GSUBsmRooms = Condominium.RMSBsmAreaSqFt + " SF";
	CopyField("Condominium.GSUBsmRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUBsmRooms2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUFuncUtil");
end;


Formula:
routine main() returns nothing is
begin
	string heat, cool, fld;
	integer Len;
	if !Changed("Condominium.GSUHeatCool") then
	begin
		heat = Condominium.HACHeatType;
		cool = Condominium.HACCoolCentral;

		if StrLower(StrLeft(cool,3)) == "yes" then
			cool = "Central";
		else
		begin
			Len = StrLength(cool);
			if Len == 0 then
				cool = Condominium.HACCoolOther;
			else if StrLower(StrLeft(cool ,2)) == "no" then
			begin
				if Len == 2 then
					cool = "";
				else if StrLeft(StrMid(cool, 2), 1) == " " then
					cool = "";
			end;
			else
				cool = Condominium.HACCoolOther;
		end;

		if IsEmpty(heat) then
			fld = cool;
		else if IsEmpty(cool) then
			fld = heat;
		else
			fld = heat + "/" + cool;

		Condominium.GSUHeatCool = fld;
	end;
	CopyField("Condominium.GSUHeatCool");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUEffItems");
end;


Formula:
routine main() returns nothing is
begin
	string fld;
	if !Changed("Condominium.GSUGarCpt") then
	begin
		fld = "";
		if !IsEmpty(Condominium.CAR_None) then
			fld = "None";
		else if !IsEmpty(Condominium.CAR_Garage) then
			fld = ToString(atoi(Condominium.CAR_Other)) + "-Garage";
		else if !IsEmpty(Condominium.CAR_Open) then
			fld = ToString(atoi(Condominium.CAR_Other2)) + "-Open";
		Condominium.GSUGarCpt = fld;
	end;
	CopyField("Condominium.GSUGarCpt");
end;


Formula:
routine main() returns nothing is
begin
	string f;
	if !Changed("Condominium.GSUAmen1") then
	begin
		f = "";
		if !IsEmpty(Condominium.AMNPatio) then
			f = "1";

		if !IsEmpty(Condominium.AMNBalcony) then
			f = f + "2";

		if !IsEmpty(Condominium.AMNDeck) then
			f = f + "3";

		if IsEmpty(Condominium.AMNPorch) then
			f = f + "4";

		if f == "1234" then
			f = "Pt/Bl/Dk/Pr";
		else if f == "123" then
			f = "Pat/Bal/Dck";
		else if f == "124" then
			f = "Pat/Balc/Pch";
		else if f == "134" then
			f = "Pat/Deck/Pch";
		else if f == "234" then
			f = "Bal/Deck/Por";
		else if f == "12" then
			f = "Patio/Balc";
		else if f == "13" then
			f = "Patio/Deck";
		else if f == "14" then
			f = "Patio/Porch";
		else if f == "23" then
			f = "Balcony/Deck";
		else if f == "24" then
			f = "Balc/Porch";
		else if f == "34" then
			f = "Deck/Porch";
		else if f == "1" then
			f = "Patio";
		else if f == "2" then
			f = "Balcony";
		else if f == "3" then
			f = "Deck";
		else if f == "4" then
			f = "Porch";
		else
			f = "None";

		Condominium.GSUAmen1 = f;
	end;
	CopyField("Condominium.GSUAmen1");
end;


Formula:
routine main() returns nothing is
begin
	string f;
	if !Changed("Condominium.GSUAmen2") then
	begin
		f = Condominium.AMNFireplace_Box;
		If !IsEmpty(Condominium.AMNFireplace) Then
		begin
			If IsEmpty(f) Then
				f = "Fireplace";
			Else
				f = f + "-Fireplace";
		end;
		else
			f = "None";

		Condominium.GSUAmen2 = f;
	end;
	CopyField("Condominium.GSUAmen2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUAmen3");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.GSUAmen4");
end;


Formula:
routine main() returns nothing, 
requires Changed("Condominium.GC1GLASqFtAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUGLASqFt Condominium.GC1GLASqFt Condominium.GC2GLASqFt Condominium.GC3GLASqFt */
begin
	string n;
	float adj, subj;
	n = Condominium.GC1GLASqFtAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUGLASqFt);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1GLASqFt) Then
			Condominium.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC1GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC1GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC2GLASqFt) Then
			Condominium.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC2GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC2GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC3GLASqFt) Then
			Condominium.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC3GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC3GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC1GLASqFt) then
			Condo4to6.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC1GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC1GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC2GLASqFt) then
			Condo4to6.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC2GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC3GLASqFt) then
			Condo4to6.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC3GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires !Changed("Condominium.GC1BsmRoomsAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUBsmRooms Condominium.GC1BsmRooms Condominium.GC2BsmRooms Condominium.GC3BsmRooms */
begin
	string n;
	float adj, subj;
	n = Condominium.GC1BsmRoomsAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms) Then
			Condominium.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC1BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC2BsmRooms) Then
			Condominium.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC2BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC2BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC3BsmRooms) Then
			Condominium.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC3BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC3BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms) then
			Condo4to6.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms) then
			Condo4to6.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms) then
			Condo4to6.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires !Changed("Condominium.GC1BsmRooms2Adj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUBsmRooms2 Condominium.GC1BsmRooms2 Condominium.GC2BsmRooms2 Condominium.GC3BsmRooms2 */
begin
	string n;
	float adj, subj;
	n = Condominium.GC1BsmRooms2Adj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms2);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms2) Then
			Condominium.GC1BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC1BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC2BsmRooms2) Then
			Condominium.GC2BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC2BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC2BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC3BsmRooms2) Then
			Condominium.GC3BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC3BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC3BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms2) then
			Condo4to6.GC1BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms2) then
			Condo4to6.GC2BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms2) then
			Condo4to6.GC3BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRooms2Adj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends Condominium.GC1NetAdj_Plus Condominium.GC1NetAdj_Minus */
begin
	float price, adj;
	if !Changed("Condominium.GC1NetAdjust") then
 	begin
		adj=atof(Condominium.GC1SalesFinAdj)	+ atof(Condominium.GC1SalesFin2Adj) +
			atof(Condominium.GC1DateOfSaleAdj)	+ atof(Condominium.GC1LocationAdj) +
			atof(Condominium.GC1FeeSimpleAdj)	+ atof(Condominium.GC1HOAAdj) +
			atof(Condominium.GC1ComElemAdj)		+ atof(Condominium.GC1ComElem2Adj) +
			atof(Condominium.GC1SizeAdj)		+ atof(Condominium.GC1FlrLocAdj) +
			atof(Condominium.GC1ViewAdj)		+ atof(Condominium.GC1DesignAdj) +
			atof(Condominium.GC1QualConstAdj)	+ atof(Condominium.GC1AgeAdj) +
			atof(Condominium.GC1ConditionAdj)	+ atof(Condominium.GC1RoomsAdj) +
			atof(Condominium.GC1Rooms2Adj)		+ atof(Condominium.GC1GLASqFtAdj) +
			atof(Condominium.GC1BsmRoomsAdj)	+ atof(Condominium.GC1BsmRooms2Adj) +
			atof(Condominium.GC1FuncUtilAdj)	+ atof(Condominium.GC1HeatCoolAdj) +
			atof(Condominium.GC1EffItemsAdj)	+ atof(Condominium.GC1GarCptAdj) +
			atof(Condominium.GC1Amen1Adj)		+ atof(Condominium.GC1Amen2Adj) +
			atof(Condominium.GC1Amen3Adj);

		price = atof(Condominium.GC1SalePrice);
		if IsEmpty(ToString(adj,0)) then
		begin
			Condominium.GC1NetAdj_Plus = "";
			Condominium.GC1NetAdj_Minus = "";
		end;
		else if adj >= 0 Then
		begin
			Condominium.GC1NetAdj_Plus = "X";
			Condominium.GC1NetAdj_Minus = "";
		end;
		else
		begin
			Condominium.GC1NetAdj_Plus = "";
			Condominium.GC1NetAdj_Minus = "X";
		end;

		Condominium.GC1NetAdjust = ToString(Round(adj));
		Condominium.GC1AdjSalePrice = ToString(Round(price+adj));
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condominium.GC1SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Condominium.GC1SalesFinAdj))	+ abs(atof(Condominium.GC1SalesFin2Adj)) +
			abs(atof(Condominium.GC1DateOfSaleAdj)) + abs(atof(Condominium.GC1LocationAdj)) +
			abs(atof(Condominium.GC1FeeSimpleAdj))	+ abs(atof(Condominium.GC1HOAAdj)) +
			abs(atof(Condominium.GC1ComElemAdj))	+ abs(atof(Condominium.GC1ComElem2Adj)) +
			abs(atof(Condominium.GC1SizeAdj))		+ abs(atof(Condominium.GC1FlrLocAdj)) +
			abs(atof(Condominium.GC1ViewAdj))		+ abs(atof(Condominium.GC1DesignAdj)) +
			abs(atof(Condominium.GC1QualConstAdj))	+ abs(atof(Condominium.GC1AgeAdj)) +
			abs(atof(Condominium.GC1ConditionAdj))	+ abs(atof(Condominium.GC1RoomsAdj)) +
			abs(atof(Condominium.GC1Rooms2Adj))		+ abs(atof(Condominium.GC1GLASqFtAdj)) +
			abs(atof(Condominium.GC1BsmRoomsAdj))	+ abs(atof(Condominium.GC1BsmRooms2Adj)) +
			abs(atof(Condominium.GC1FuncUtilAdj))	+ abs(atof(Condominium.GC1HeatCoolAdj)) +
			abs(atof(Condominium.GC1EffItemsAdj))	+ abs(atof(Condominium.GC1GarCptAdj)) +
			abs(atof(Condominium.GC1Amen1Adj))		+ abs(atof(Condominium.GC1Amen2Adj)) +
			abs(atof(Condominium.GC1Amen3Adj));

		Condominium.GC1GrossPct_Value = ToString(Fraction(2, sum/price*100),2)+"%";
		Condominium.GC1GrossPct_Sign = "G:";
	end;
	else
	begin
		Condominium.GC1GrossPct_Value = "";
		Condominium.GC1GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;

	price = atof(Condominium.GC1SalePrice);
	if price != 0 then
	begin
		sum=atof(Condominium.GC1SalesFinAdj)	+ atof(Condominium.GC1SalesFin2Adj) +
			atof(Condominium.GC1DateOfSaleAdj)	+ atof(Condominium.GC1LocationAdj) +
			atof(Condominium.GC1FeeSimpleAdj)	+ atof(Condominium.GC1HOAAdj) +
			atof(Condominium.GC1ComElemAdj)		+ atof(Condominium.GC1ComElem2Adj) +
			atof(Condominium.GC1SizeAdj)		+ atof(Condominium.GC1FlrLocAdj) +
			atof(Condominium.GC1ViewAdj)		+ atof(Condominium.GC1DesignAdj) +
			atof(Condominium.GC1QualConstAdj)	+ atof(Condominium.GC1AgeAdj) +
			atof(Condominium.GC1ConditionAdj)	+ atof(Condominium.GC1RoomsAdj) +
			atof(Condominium.GC1Rooms2Adj)		+ atof(Condominium.GC1GLASqFtAdj) +
			atof(Condominium.GC1BsmRoomsAdj)	+ atof(Condominium.GC1BsmRooms2Adj) +
			atof(Condominium.GC1FuncUtilAdj)	+ atof(Condominium.GC1HeatCoolAdj) +
			atof(Condominium.GC1EffItemsAdj)	+ atof(Condominium.GC1GarCptAdj) +
			atof(Condominium.GC1Amen1Adj)		+ atof(Condominium.GC1Amen2Adj) +
			atof(Condominium.GC1Amen3Adj);

		Condominium.GC1NetPct_Value = ToString(Abs(sum)/price*100,5)+"%";
		Condominium.GC1NetPct_Sign = "N:";
	end;
	else
	begin
		Condominium.GC1NetPct_Value = "";
		Condominium.GC1NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("Condominium.GC2GLASqFtAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUGLASqFt Condominium.GC1GLASqFt Condominium.GC2GLASqFt Condominium.GC3GLASqFt */
begin
	string n;
	float adj, subj;
	n = Condominium.GC2GLASqFtAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUGLASqFt);
		adj = atof(StrRight(n, StrLength(n)-1));
		If !IsEmpty(Condominium.GC1GLASqFt) Then
			Condominium.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC1GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC1GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC2GLASqFt) Then
			Condominium.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC2GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC2GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC3GLASqFt) Then
			Condominium.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC3GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC3GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC1GLASqFt) then
			Condo4to6.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC1GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC1GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC2GLASqFt) then
			Condo4to6.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC2GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC3GLASqFt) then
			Condo4to6.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC3GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Condominium.GC2BsmRoomsAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUBsmRooms Condominium.GC1BsmRooms Condominium.GC2BsmRooms Condominium.GC3BsmRooms */
begin
	string n;
	float adj, subj;
	n = Condominium.GC2BsmRoomsAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms) Then
			Condominium.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC1BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC2BsmRooms) Then
			Condominium.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC2BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC2BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC3BsmRooms) Then
			Condominium.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC3BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC3BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms) then
			Condo4to6.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms) then
			Condo4to6.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms) then
			Condo4to6.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("GC2BsmRooms2Adj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUBsmRooms2 Condominium.GC3BsmRooms2 Condominium.GC3BsmRooms2 Condominium.GC3BsmRooms2 */
begin
	string n;
	float adj, subj;
	n = Condominium.GC2BsmRooms2Adj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms2);
		adj = atof(Strright(n, Strlength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms2) Then
			Condominium.GC1BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC1BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC2BsmRooms2) Then
			Condominium.GC2BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC2BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC2BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC3BsmRooms2) Then
			Condominium.GC3BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC3BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC3BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms2) then
			Condo4to6.GC1BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms2) then
			Condo4to6.GC2BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms2) then
			Condo4to6.GC3BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRooms2Adj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends Condominium.GC2NetAdj_Plus Condominium.GC2NetAdj_Minus */
begin
	float price, adj;
	if !Changed("Condominium.GC2NetAdjust") then
	begin
 		adj=atof(Condominium.GC2SalesFinAdj)	+ atof(Condominium.GC2SalesFin2Adj) +
			atof(Condominium.GC2DateOfSaleAdj)	+ atof(Condominium.GC2LocationAdj) +
			atof(Condominium.GC2FeeSimpleAdj)	+ atof(Condominium.GC2HOAAdj) +
			atof(Condominium.GC2ComElemAdj)		+ atof(Condominium.GC2ComElem2Adj) +
			atof(Condominium.GC2SizeAdj)		+ atof(Condominium.GC2FlrLocAdj) +
			atof(Condominium.GC2ViewAdj)		+ atof(Condominium.GC2DesignAdj) +
			atof(Condominium.GC2QualConstAdj)	+ atof(Condominium.GC2AgeAdj) +
			atof(Condominium.GC2ConditionAdj)	+ atof(Condominium.GC2RoomsAdj) +
			atof(Condominium.GC2Rooms2Adj)		+ atof(Condominium.GC2GLASqFtAdj) +
			atof(Condominium.GC2BsmRoomsAdj)	+ atof(Condominium.GC2BsmRooms2Adj) +
			atof(Condominium.GC2FuncUtilAdj)	+ atof(Condominium.GC2HeatCoolAdj) +
			atof(Condominium.GC2EffItemsAdj)	+ atof(Condominium.GC2GarCptAdj) +
			atof(Condominium.GC2Amen1Adj)		+ atof(Condominium.GC2Amen2Adj) +
			atof(Condominium.GC2Amen3Adj);

		price = atof(Condominium.GC2SalePrice);
		if IsEmpty(ToString(adj,0)) then
		begin
			Condominium.GC2NetAdj_Plus = "";
			Condominium.GC2NetAdj_Minus = "";
		end;
		else if adj >= 0 Then
		begin
			Condominium.GC2NetAdj_Plus = "X";
			Condominium.GC2NetAdj_Minus = "";
		end;
		Else
		begin
			Condominium.GC2NetAdj_Plus = "";
			Condominium.GC2NetAdj_Minus = "X";
		end;

		Condominium.GC2NetAdjust = ToString(Round(adj));
		Condominium.GC2AdjSalePrice = ToString(Round(price+adj));
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condominium.GC2SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Condominium.GC2SalesFinAdj))	+ abs(atof(Condominium.GC2SalesFin2Adj)) +
			abs(atof(Condominium.GC2DateOfSaleAdj)) + abs(atof(Condominium.GC2LocationAdj)) +
			abs(atof(Condominium.GC2FeeSimpleAdj))	+ abs(atof(Condominium.GC2HOAAdj)) +
			abs(atof(Condominium.GC2ComElemAdj))	+ abs(atof(Condominium.GC2ComElem2Adj)) +
			abs(atof(Condominium.GC2SizeAdj))		+ abs(atof(Condominium.GC2FlrLocAdj)) +
			abs(atof(Condominium.GC2ViewAdj))		+ abs(atof(Condominium.GC2DesignAdj)) +
			abs(atof(Condominium.GC2QualConstAdj))	+ abs(atof(Condominium.GC2AgeAdj)) +
			abs(atof(Condominium.GC2ConditionAdj))	+ abs(atof(Condominium.GC2RoomsAdj)) +
			abs(atof(Condominium.GC2Rooms2Adj))		+ abs(atof(Condominium.GC2GLASqFtAdj)) +
			abs(atof(Condominium.GC2BsmRoomsAdj))	+ abs(atof(Condominium.GC2BsmRooms2Adj)) +
			abs(atof(Condominium.GC2FuncUtilAdj))	+ abs(atof(Condominium.GC2HeatCoolAdj)) +
			abs(atof(Condominium.GC2EffItemsAdj))	+ abs(atof(Condominium.GC2GarCptAdj)) +
			abs(atof(Condominium.GC2Amen1Adj))		+ abs(atof(Condominium.GC2Amen2Adj)) +
			abs(atof(Condominium.GC2Amen3Adj));

		Condominium.GC2GrossPct_Value = ToString(sum/price * 100,5)+"%";
		Condominium.GC2GrossPct_Sign = "G:";
	end;
	else
	begin
		Condominium.GC2GrossPct_Value = "";
		Condominium.GC2GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condominium.GC2SalePrice);

	if price != 0 then
	begin
		sum=atof(Condominium.GC2SalesFinAdj)	+ atof(Condominium.GC2SalesFin2Adj) +
			atof(Condominium.GC2DateOfSaleAdj)	+ atof(Condominium.GC2LocationAdj) +
			atof(Condominium.GC2FeeSimpleAdj)	+ atof(Condominium.GC2HOAAdj) +
			atof(Condominium.GC2ComElemAdj)		+ atof(Condominium.GC2ComElem2Adj) +
			atof(Condominium.GC2SizeAdj)		+ atof(Condominium.GC2FlrLocAdj) +
			atof(Condominium.GC2ViewAdj)		+ atof(Condominium.GC2DesignAdj) +
			atof(Condominium.GC2QualConstAdj)	+ atof(Condominium.GC2AgeAdj) +
			atof(Condominium.GC2ConditionAdj)	+ atof(Condominium.GC2RoomsAdj) +
			atof(Condominium.GC2Rooms2Adj)		+ atof(Condominium.GC2GLASqFtAdj) +
			atof(Condominium.GC2BsmRoomsAdj)	+ atof(Condominium.GC2BsmRooms2Adj) +
			atof(Condominium.GC2FuncUtilAdj)	+ atof(Condominium.GC2HeatCoolAdj) +
			atof(Condominium.GC2EffItemsAdj)	+ atof(Condominium.GC2GarCptAdj) +
			atof(Condominium.GC2Amen1Adj)		+ atof(Condominium.GC2Amen2Adj) +
			atof(Condominium.GC2Amen3Adj);

		Condominium.GC2NetPct_Value = ToString(Abs(sum)/price*100,5)+"%";
		Condominium.GC2NetPct_Sign = "N:";
	end;
	else
	begin
		Condominium.GC2NetPct_Value = "";
		Condominium.GC2NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires !Changed("Condominium.GC3GLASqFtAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUGLASqFt Condominium.GC1GLASqFt Condominium.GC2GLASqFt Condominium.GC3GLASqFt */
begin
	string n;
	float adj, subj;
	n = Condominium.GC3GLASqFtAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUGLASqFt);
		adj = atof(StrRight(n, StrLength(n)-1));
		If !IsEmpty(Condominium.GC1GLASqFt) Then
			Condominium.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC1GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC1GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC2GLASqFt) Then
			Condominium.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC2GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC2GLASqFtAdj = "";

		If !IsEmpty(Condominium.GC3GLASqFt) Then
			Condominium.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condominium.GC3GLASqFt))*adj)/100)*100);
		Else
			Condominium.GC3GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC1GLASqFt) then
			Condo4to6.GC1GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC1GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC1GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC2GLASqFt) then
			Condo4to6.GC2GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC2GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";

		if !IsEmpty(Condo4to6.GC3GLASqFt) then
			Condo4to6.GC3GLASqFtAdj = ToString(Round(((subj-atof(Condo4to6.GC3GLASqFt))*adj)/100)*100);
		else
			Condo4to6.GC2GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("Condominium.GC3BsmRoomsAdj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUBsmRooms Condominium.GC1BsmRooms Condominium.GC2BsmRooms Condominium.GC3BsmRooms */
begin
	string n;
	float adj, subj;
	n = Condominium.GC3BsmRoomsAdj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms);
		adj = atof(StrRight(n, StrLength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms) Then
			Condominium.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC1BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC2BsmRooms) Then
			Condominium.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC2BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC2BsmRoomsAdj = "";

		If !IsEmpty(Condominium.GC3BsmRooms) Then
			Condominium.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condominium.GC3BsmRooms))*adj)/100)*100);
		Else
			Condominium.GC3BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms) then
			Condo4to6.GC1BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms) then
			Condo4to6.GC2BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms) then
			Condo4to6.GC3BsmRoomsAdj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRooms))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRoomsAdj = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires Changed("Condominium.GC3BsmRooms2Adj"),
affects "Condominium.GC1NetAdjust,Condominium.GC2NetAdjust,Condominium.GC3NetAdjust",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value",
affects "Condominium.GC1GrossPct_Value,Condominium.GC1NetPct_Value" is
/* no depends Condominium.GSUBsmRooms2 Condominium.GC3BsmRooms2 Condominium.GC3BsmRooms2 Condominium.GC3BsmRooms2 */
begin
	string n;
	float adj, subj;
	n = Condominium.GC3BsmRooms2Adj;
	If StrLeft(n,1) == "$" Then
	begin
		subj = atof(Condominium.GSUBsmRooms2);
		adj = atof(StrRight(n, StrLength(n)-1));
		If !IsEmpty(Condominium.GC1BsmRooms2) Then
			Condominium.GC1BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC1BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC1BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC2BsmRooms2) Then
			Condominium.GC2BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC2BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC2BsmRooms2Adj = "";

		If !IsEmpty(Condominium.GC3BsmRooms2) Then
			Condominium.GC3BsmRooms2Adj = ToString(Round(((subj-atof(Condominium.GC3BsmRooms2))*adj)/100)*100);
		Else
			Condominium.GC3BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC1BsmRooms2) then
			Condo4to6.GC1BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC1BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC1BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC2BsmRooms2) then
			Condo4to6.GC2BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC2BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRooms2Adj = "";

		if !IsEmpty(Condo4to6.GC3BsmRooms2) then
			Condo4to6.GC3BsmRooms2Adj = ToString(Round(((subj-atof(Condo4to6.GC3BsmRooms2))*adj)/100)*100);
		else
			Condo4to6.GC2BsmRooms2Adj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends Condominium.GC3NetAdj_Plus Condominium.GC3NetAdj_Minus */
begin
	float price, adj;
	if !Changed("Condominium.GC3NetAdjust") then
	begin
 		adj=atof(Condominium.GC3SalesFinAdj)	+ atof(Condominium.GC3SalesFin2Adj) +
			atof(Condominium.GC3DateOfSaleAdj)	+ atof(Condominium.GC3LocationAdj) +
			atof(Condominium.GC3FeeSimpleAdj)	+ atof(Condominium.GC3HOAAdj) +
			atof(Condominium.GC3ComElemAdj)		+ atof(Condominium.GC3ComElem2Adj) +
			atof(Condominium.GC3SizeAdj)		+ atof(Condominium.GC3FlrLocAdj) +
			atof(Condominium.GC3ViewAdj)		+ atof(Condominium.GC3DesignAdj) +
			atof(Condominium.GC3QualConstAdj)	+ atof(Condominium.GC3AgeAdj) +
			atof(Condominium.GC3ConditionAdj)	+ atof(Condominium.GC3RoomsAdj) +
			atof(Condominium.GC3Rooms2Adj)		+ atof(Condominium.GC3GLASqFtAdj) +
			atof(Condominium.GC3BsmRoomsAdj)	+ atof(Condominium.GC3BsmRooms2Adj) +
			atof(Condominium.GC3FuncUtilAdj)	+ atof(Condominium.GC3HeatCoolAdj) +
			atof(Condominium.GC3EffItemsAdj)	+ atof(Condominium.GC3GarCptAdj) +
			atof(Condominium.GC3Amen1Adj)		+ atof(Condominium.GC3Amen2Adj) +
			atof(Condominium.GC3Amen3Adj);

		price = atof(Condominium.GC3SalePrice);
		if IsEmpty(ToString(adj,0)) then
		begin
			Condominium.GC3NetAdj_Plus = "";
			Condominium.GC3NetAdj_Minus = "";
		end;
		else if adj >= 0 Then
		begin
			Condominium.GC3NetAdj_Plus = "X";
			Condominium.GC3NetAdj_Minus = "";
		end;
		else
		begin
			Condominium.GC3NetAdj_Plus = "";
			Condominium.GC3NetAdj_Minus = "X";
		end;

		Condominium.GC3NetAdjust = ToString(Round(adj));
		Condominium.GC3AdjSalePrice = ToString(Round(price+adj));
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condominium.GC3SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Condominium.GC3SalesFinAdj))	+ abs(atof(Condominium.GC3SalesFin2Adj)) +
			abs(atof(Condominium.GC3DateOfSaleAdj)) + abs(atof(Condominium.GC3LocationAdj)) +
			abs(atof(Condominium.GC3FeeSimpleAdj))	+ abs(atof(Condominium.GC3HOAAdj)) +
			abs(atof(Condominium.GC3ComElemAdj))	+ abs(atof(Condominium.GC3ComElem2Adj)) +
			abs(atof(Condominium.GC3SizeAdj))		+ abs(atof(Condominium.GC3FlrLocAdj)) +
			abs(atof(Condominium.GC3ViewAdj))		+ abs(atof(Condominium.GC3DesignAdj)) +
			abs(atof(Condominium.GC3QualConstAdj))	+ abs(atof(Condominium.GC3AgeAdj)) +
			abs(atof(Condominium.GC3ConditionAdj))	+ abs(atof(Condominium.GC3RoomsAdj)) +
			abs(atof(Condominium.GC3Rooms2Adj))		+ abs(atof(Condominium.GC3GLASqFtAdj)) +
			abs(atof(Condominium.GC3BsmRoomsAdj))	+ abs(atof(Condominium.GC3BsmRooms2Adj)) +
			abs(atof(Condominium.GC3FuncUtilAdj))	+ abs(atof(Condominium.GC3HeatCoolAdj)) +
			abs(atof(Condominium.GC3EffItemsAdj))	+ abs(atof(Condominium.GC3GarCptAdj)) +
			abs(atof(Condominium.GC3Amen1Adj))		+ abs(atof(Condominium.GC3Amen2Adj)) +
			abs(atof(Condominium.GC3Amen3Adj));

		Condominium.GC3GrossPct_Value = ToString(sum/price * 100, 5)+"%";
		Condominium.GC3GrossPct_Sign = "G:";
	end;
	else
	begin
		Condominium.GC3GrossPct_Value = "";
		Condominium.GC3GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	price = atof(Condominium.GC3SalePrice);

	if price != 0 then
	begin
		sum=atof(Condominium.GC3SalesFinAdj)	+ atof(Condominium.GC3SalesFin2Adj) +
			atof(Condominium.GC3DateOfSaleAdj)	+ atof(Condominium.GC3LocationAdj) +
			atof(Condominium.GC3FeeSimpleAdj)	+ atof(Condominium.GC3HOAAdj) +
			atof(Condominium.GC3ComElemAdj)		+ atof(Condominium.GC3ComElem2Adj) +
			atof(Condominium.GC3SizeAdj)		+ atof(Condominium.GC3FlrLocAdj) +
			atof(Condominium.GC3ViewAdj)		+ atof(Condominium.GC3DesignAdj) +
			atof(Condominium.GC3QualConstAdj)	+ atof(Condominium.GC3AgeAdj) +
			atof(Condominium.GC3ConditionAdj)	+ atof(Condominium.GC3RoomsAdj) +
			atof(Condominium.GC3Rooms2Adj)		+ atof(Condominium.GC3GLASqFtAdj) +
			atof(Condominium.GC3BsmRoomsAdj)	+ atof(Condominium.GC3BsmRooms2Adj) +
			atof(Condominium.GC3FuncUtilAdj)	+ atof(Condominium.GC3HeatCoolAdj) +
			atof(Condominium.GC3EffItemsAdj)	+ atof(Condominium.GC3GarCptAdj) +
			atof(Condominium.GC3Amen1Adj)		+ atof(Condominium.GC3Amen2Adj) +
			atof(Condominium.GC3Amen3Adj);

		Condominium.GC3NetPct_Value = ToString(Abs(sum)/price*100,5)+"%";
		Condominium.GC3NetPct_Sign = "N:";
	end;
	else
	begin
		Condominium.GC3NetPct_Value = "";
		Condominium.GC3NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SCMIndValIncome") is
begin
	float val;
	val = atof(Condominium.SCMEstMktRent) * atof(Condominium.SCMGRM);
	Condominium.SCMIndValIncome = ToString(val, 5);
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECEstMktValue");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECInspect_Did");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECInspect_DidNot");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECApprCertNum");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECApprLicNum");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECSuperviser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECSupSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECSupCertNum");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECSupLicNum");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECApprStateCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECApprStateLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECSupStateCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Condominium.RECSupStateLic");
end;


Formula:
routine main() returns nothing is
begin
	Condominium.P2FileNumber = Condominium.FileNumber;
	CopyField("Condominium.FileNumber");
end;


# ContentsPage

Formula:
routine main() returns nothing,
affects "ContentsPage.TOCPage1" is
/* updates ContentsPage.TOCHeading1-ContentsPage.TOCPage15 */
begin
	integer forms, i, page;
	string titleID, title, pageID;
	forms = GetFormCount();
	for i=1 while i<=forms step i++ loop
	begin
		titleID = "ContentsPage.TOCHeading"+ToString(i);
		pageID = "ContentsPage.TOCPage"+ToString(i);
		title = GetFormTitle(i);
		page = GetFormPage(i);
		SetField(titleID, title);
		SetField(pageID, ToString(page));
	end;
	if forms < 33 then
	begin
		for i=forms+1 while i<=33 step i++ loop
		begin
			titleID = "ContentsPage.TOCHeading"+ToString(i);
			pageID = "ContentsPage.TOCPage"+ToString(i);
			SetField(titleID, "");
			SetField(pageID, "");
		end;
	end;
end;


Formula:
routine main() returns nothing,
affects "ContentsPage.TOCPage2" is
/* updates ContentsPage.TOCHeading16-ContentsPage.TOCPage30 */
begin
end;


Formula:
routine main() returns nothing is
/* updates ContentsPage.TOCHeading31-ContentsPage.TOCPage33 */
begin
end;


# CoverPage

Formula:
routine main() returns nothing is
begin
	CopyField("CoverPage.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("CoverPage.SUBPropCityStateZip");
end;


# ERCResidential

Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.SUBClientContact") then
		ERCResidential.SUBClientContact = ERCResidential.SUBLenClient;
	CopyField("ERCResidential.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	ERCResidential.P2ClientCaseNumber = ERCResidential.ClientCaseNumber;
	ERCResidential.P3ClientCaseNumber = ERCResidential.ClientCaseNumber;
	ERCResidential.P4ClientCaseNumber = ERCResidential.ClientCaseNumber;
	ERCResidential.P5ClientCaseNumber = ERCResidential.ClientCaseNumber;
	ERCResidential.P6ClientCaseNumber = ERCResidential.ClientCaseNumber;
	CopyField("ERCResidential.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.SUBOwner") then
		ERCResidential.SUBOwner = ERCResidential.SUBBorrower;
	if !Changed("ERCResidential.ASPOwner") then
		ERCResidential.ASPOwner = ERCResidential.SUBBorrower;
	CopyField("ERCResidential.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.SUBAppraiser2") then
		ERCResidential.SUBAppraiser2 = ERCResidential.SUBAppraiserName;
	if !Changed("ERCResidential.APPRName") then
		ERCResidential.APPRName = ERCResidential.SUBAppraiserName;
	CopyField("ERCResidential.SUBAppraiserName");
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.SUBApprFileNo2") is
begin
	ERCResidential.P2FileNumber = ERCResidential.FileNumber;
	ERCResidential.P3FileNumber = ERCResidential.FileNumber;
	ERCResidential.P4FileNumber = ERCResidential.FileNumber;
	ERCResidential.P5FileNumber = ERCResidential.FileNumber;
	ERCResidential.P6FileNumber = ERCResidential.FileNumber;
	ERCResidential.SUBApprFileNo = ERCResidential.FileNumber;
	CopyField("ERCResidential.SUBApprFileNo");
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.RECAppraiser" is
begin
	ERCResidential.RECAppraiser = ERCResidential.SUBAppraiser;
	CopyField("ERCResidential.SUBAppraiser");
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.CO_APPRDateOfReport" is
begin
	if !Changed("ERCResidential.RECInspectDate") then
		ERCResidential.RECInspectDate = ERCResidential.SUBEffectDate;
	if !Changed("ERCResidential.APPRDateOfReport") then
		ERCResidential.APPRDateOfReport = ERCResidential.SUBEffectDate;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	begin
		ERCResidential.SUBLegalDescrip = ERCResidential.SUBLegalDescrip_#1 + 
			ERCResidential.SUBLegalDescrip_#2;
	end;
	CopyField("ERCResidential.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSULocation") is
begin
	ERCResidential.GSULocation = "Fee Simple";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSULocation") is
begin
	ERCResidential.GSULocation = "Leasehold";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.SUBClientContact");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSUOrgLstPrice") then
		ERCResidential.GSUOrgLstPrice = ERCResidential.SUBOrigListPrice;
	CopyField("ERCResidential.SUBOrigListPrice");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSUSalePrice") then
		ERCResidential.GSUSalePrice = ERCResidential.SUBCurrListPrice;
	begin
		ERCResidential.SUBSalePrice = ERCResidential.SUBCurrListPrice;
	end;
	CopyField("ERCResidential.SUBCurrListPrice");
	CopyField("ERCResidential.SUBSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSULstPrRev") then
		ERCResidential.GSULstPrRev = ERCResidential.SUBDateLastPriceRev;
	CopyField("ERCResidential.SUBDateLastPriceRev");
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSUDaysOnMkrt") is
begin
	ERCResidential.GSUDaysOnMkrt = ERCResidential.SUBTotDaysMarket;
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSULocation"),
affects "ERCResidential.GSULocation" is
begin
	ERCResidential.GSULocation = "Urban";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSULocation"),
affects "ERCResidential.GSULocation" is
begin
	ERCResidential.GSULocation = "Suburban";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSULocation"),
affects "ERCResidential.GSULocation" is
begin
	ERCResidential.GSULocation = "Rural";
end;


Formula:
routine main() returns nothing is
begin
/*	float sum;
	sum=atof(ERCResidential.PLU2to4Fam) + atof(ERCResidential.PLUCondo) +
		atof(ERCResidential.PLUIndustrial) + atof(ERCResidential.PLUOneFam) +
		atof(ERCResidential.PLUApart) + atof(ERCResidential.PLUCommercial) +
		atof(ERCResidential.PLUVacant) + atof(ERCResidential.PLUOther);
	if sum > 100 then
		Message("Present Land Use is over 100%"); */
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(ERCResidential.LCUNotLikely) then
	begin
		ERCResidential.LCUTo_1 = "";
		ERCResidential.LCUTo_2 = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.SFHPricePred") is
begin
	float price;
	price = atof(ERCResidential.SFHPricePred);
	if price < atof(ERCResidential.SFHPriceLow) then
		Message("Warning: Predominat price below low price");
	else if price > atof(ERCResidential.SFHPriceHigh) then
		Message("Warning: Predominat price above high price");
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.SFHAgePred") is
begin
	age = atof(ERCResidential.SFHAgePred);
	if age < atof(ERCResidential.SFHAgeLow) then
		Message("Warning: Predominat age below low age");
	elseif age > atof(ERCResidential.SFHAgeHigh) then
		Message("Warning: Predominat age above high age");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.CO_APPRDateOfReport") then
		if !IsEmpty(ERCResidential.CO_APPRName) then
			ERCResidential.CO_APPRDateOfReport = ERCResidential.SUBEffectDate;
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUSiteView" is
begin
	float r, fVal, lVal, bVal, rVal;
	string d, sr;
	integer n, L, xpos, x2pos, x3pos;
	r = 0;
	d = ERCResidential.SITDimensions;
	L = StrLength(d);
	xpos = StrChr(d, "x");
	if xpos > 0 then
	begin
		fVal = atof(d);
		lVal = atof(StrRight(d, L-xpos-1));
		bVal = 0;
		rVal = 0;
		x2pos = StrChr(StrRight(d, L-xpos-1),"x");
		if (x2pos > 0) then
		begin
			bVal = atof(StrRight(d, L-xpos-x2pos-1));
			x3pos = StrChr(StrRight(d, L-xpos-x2pos-1),"x");
			if (x3pos > 0) then
				rVal = atof(StrRight(d, L-xpos-x2pos-x3pos-1));
			if fVal != bVal then
				Message(" Irregular lot.  Verify calculation...");
			r = ((fVal+bVal)/2)*((lVal+rVal)/2);
		end;
		else
			r = fVal*lVal;
	end;

	sr = ERCResidential.SITSiteArea;
	n = StrChr(sr, "Acres");
	if n >= 0 or StrUpper(StrLeft(sr,1)) == "A" then
		sr = "A";
	else
		sr = "S";

	if StrUpper(sr) == "A" then
		ERCResidential.SITSiteArea = ToString(r/43560.0,5) + " Acres";
	else
		ERCResidential.SITSiteArea = ToString(r,5) + " Sq.Ft.";

	if !Changed("ERCResidential.SITSize") then
		ERCResidential.SITSize = ERCResidential.SITSiteArea;

	if !Changed("ERCResidential.GSUSiteView") then
		ERCResidential.GSUSiteView = ERCResidential.SITSiteArea;

	if !Changed("ERCResidential.GSJSite") then
		ERCResidential.GSJSite = ERCResidential.SITSiteArea;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(ERCResidential.SITHBUse_Other) then
		ERCResidential.SITHBUse_Explain = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSJView"),
affects "ERCResidential.GSUSiteView" is
begin
	ERCResidential.GSJView = ERCResidential.SITView;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSUAge") then
		ERCResidential.GSUAge = ERCResidential.GDSActYears;
	if !Changed("ERCResidential.GSJAge") then
		ERCResidential.GSJAge = ERCResidential.GDSActYears;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSUDsgnAppl") then
		ERCResidential.GSUDsgnAppl = ERCResidential.GDSDesign;
	if !Changed("ERCResidential.GSJDsgnAppl") then
		ERCResidential.GSJDsgnAppl = ERCResidential.GDSDesign;
end;


Formula:
routine main() returns nothing,
require !Changed("ERCResidential.GSJBsmtArea"),
affects "ERCResidential.GSJBsmtArea,ERCResidential.GSUBsmtArea" is
begin
	ERCResidential.GSJBsmtArea = ERCResidential.BSMAreaSF;
end;


Formula:
routine main() returns nothing,
require !Changed("ERCResidential.GSJBsmtRmFin"),
affects "ERCResidential.GSJBsmtRmFin,ERCResidential.GSUBsmtArea" is
begin
	ERCResidential.GSJBsmtRmFin = ERCResidential.BSMPctFinished;
end;


Formula:
routine main() returns nothing is
begin
	If IsEmpty(ERCResidential.HACAC_Other) Then
		ERCResidential.HACACOther_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	If IsEmpty(ERCResidential.INTFloorsOther) then
		ERCResidential.INTFloorsOther_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	If IsEmpty(ERCResidential.INTWallsOther) then
		ERCResidential.INTWallsOther_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	If IsEmpty(ERCResidential.KIT_Other) then
		ERCResidential.KIT_Other_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	If IsEmpty(ERCResidential.RMSBathFlr_Other) then
		ERCResidential.RMSBathFlrOther_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	If IsEmpty(ERCResidential.RMSBathWanscot_Other) then
		ERCResidential.RMSBathWanscotOther_Text = "";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUQualConstr" is
begin
	if !Changed("ERCResidential.GSUQualConstr") then
		ERCResidential.GSUQualConstr = "Excellent";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUQualConstr" is
begin
	if !Changed("ERCResidential.GSUQualConstr") then
		ERCResidential.GSUQualConstr = "Good";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUQualConstr" is
begin
	if !Changed("ERCResidential.GSUQualConstr") then
		ERCResidential.GSUQualConstr = "Average";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUQualConstr" is
begin
	if !Changed("ERCResidential.GSUQualConstr") then
		ERCResidential.GSUQualConstr = "Fair";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUQualConstr" is
begin
	if !Changed("ERCResidential.GSUQualConstr") then
		ERCResidential.GSUQualConstr = "Poor";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUCondition" is
begin
	if !Changed("ERCResidential.GSUCondition") then
		ERCResidential.GSUCondition = "Excellent";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUCondition" is
begin
	if !Changed("ERCResidential.GSUCondition") then
		ERCResidential.GSUCondition = "Good";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUCondition" is
begin
	if !Changed("ERCResidential.GSUCondition") then
		ERCResidential.GSUCondition = "Average";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUCondition" is
begin
	if !Changed("ERCResidential.GSUCondition") then
		ERCResidential.GSUCondition = "Fair";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUCondition" is
begin
	if !Changed("ERCResidential.GSUCondition") then
		ERCResidential.GSUCondition = "Poor";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSUInterior") is
begin
	ERCResidential.GSUInterior = "Excellent";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSUInterior") is
begin
	ERCResidential.GSUInterior = "Good";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSUInterior") is
begin
	ERCResidential.GSUInterior = "Fair";
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GSUInterior") is
begin
	ERCResidential.GSUInterior = "Poor";
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUTotRooms" is
begin
	integer t1, t2, t3, t4;
	t1 =atoi(ERCResidential.RMSLv1Foyer) + atoi(ERCResidential.RMSLv1Living) + 
		atoi(ERCResidential.RMSLv1Dining) + atoi(ERCResidential.RMSLv1Kitchen) + 
		atoi(ERCResidential.RMSLv1Den) + atoi(ERCResidential.RMSLv1FamilyRm) + 
		atoi(ERCResidential.RMSLv1RecRm) + atoi(ERCResidential.RMSLv1Bedrooms) + 
		atoi(ERCResidential.RMSLv1Laundry);

	t2 =atoi(ERCResidential.RMSLv2Foyer) + atoi(ERCResidential.RMSLv2Living) + 
		atoi(ERCResidential.RMSLv2Dining) + atoi(ERCResidential.RMSLv2Kitchen) + 
		atoi(ERCResidential.RMSLv2Den) + atoi(ERCResidential.RMSLv2FamilyRm) + 
		atoi(ERCResidential.RMSLv2RecRm) + atoi(ERCResidential.RMSLv2Bedrooms) + 
		atoi(ERCResidential.RMSLv2Laundry);

	t3 =atoi(ERCResidential.RMSOth1Foyer) + atoi(ERCResidential.RMSOth1Living) + 
		atoi(ERCResidential.RMSOth1Dining) + atoi(ERCResidential.RMSOth1Kitchen) + 
		atoi(ERCResidential.RMSOth1Den) + atoi(ERCResidential.RMSOth1FamilyRm) + 
		atoi(ERCResidential.RMSOth1RecRm) + atoi(ERCResidential.RMSOth1Bedrooms) + 
		atoi(ERCResidential.RMSOth1Laundry);

	t4 =atoi(ERCResidential.RMSOth2Foyer) + atoi(ERCResidential.RMSOth2Living) + 
		atoi(ERCResidential.RMSOth2Dining) + atoi(ERCResidential.RMSOth2Kitchen) + 
		atoi(ERCResidential.RMSOth2Den) + atoi(ERCResidential.RMSOth2FamilyRm) + 
		atoi(ERCResidential.RMSOth2RecRm) + atoi(ERCResidential.RMSOth2Bedrooms) + 
		atoi(ERCResidential.RMSOth2Laundry);
	ERCResidential.RMSAGTotRooms = ToString(t1 + t2 + t3 + t4);

	if !Changed("ERCResidential.GSUTotRooms") then
		ERCResidential.GSUTotRooms = ERCResidential.RMSAGTotRooms;
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUBedrooms" is
begin
	integer cnt;
	cnt=atoi(ERCResidential.RMSLv1Bedrooms) + atoi(ERCResidential.RMSLv2Bedrooms) + 
		atoi(ERCResidential.RMSOth1Bedrooms) + atoi(ERCResidential.RMSOth2Bedrooms);
	ERCResidential.RMSAGTotBedrooms = ToString(cnt);

	if !Changed("ERCResidential.GSUBedrooms") then
		ERCResidential.GSUBedrooms = ERCResidential.RMSAGTotBedrooms;
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUBaths" is
begin
	float cnt;
	cnt=atof(ERCResidential.RMSLv1Baths) + atof(ERCResidential.RMSLv2Baths) + 
		atof(ERCResidential.RMSOth1Baths) + atof(ERCResidential.RMSOth2Baths);
	ERCResidential.RMSAGTotBaths = ToString(cnt,5);

	if !Changed("ERCResidential.GSUBaths") then
		ERCResidential.GSUBaths = ERCResidential.RMSAGTotBaths;
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUGLASqFt" is
begin
	if !Changed("ERCResidential.RMSAGSqFtGLA") then
		ERCResidential.RMSAGSqFtGLA = GetArea("GrossLivingArea");

	if !Changed("ERCResidential.GSUGLASqFt") then
		ERCResidential.GSUGLASqFt = ERCResidential.RMSAGSqFtGLA;
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.FNDWarranty") is
begin
	if IsEmpty(FNDConstrWrnty_Yes) then
		ERCResidential.FNDWarranty = "";
end;


Formula:
routine main() is
begin
	If !IsEmpty(ERCResidential.FNDWrntyTrans_Yes) Then
		ERCResidential.FNDWrntyTrans_No = "";
	else
	begin
		ERCResidential.FNDTransComment = "";
		ERCResidential.FNDWarranty = "";
	end;
end;


Formula:
routine main() is
begin
	If !IsEmpty(ERCResidential.FNDWrntyTrans_No) Then
	begin
		ERCResidential.FNDTransComment = "";
		ERCResidential.FNDWarranty = "";
		ERCResidential.FNDWrntyTrans_Yes = "";
	end;
end;


Formula:
routine main() is
begin
	if IsEmpty(ERCResidential.FNDEvidence_StrucSettlmnt) then
		ERCResidential.FNDEvidence_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.GSUAddress1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.GSUAddress2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.GSUOrgLstPrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.GSULstPrRev");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.GSUDaysOnMkrt");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJLocation") then
		ERCResidential.GSJLocation = ERCResidential.GSULocation;
	CopyField("ERCResidential.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	string size, view, c;
	if !Changed("ERCResidential.GSUSiteView") then
	begin
		size = ERCResidential.SITSize;
		view = ERCResidential.SITView;

		if !IsEmpty(size) then
			if !IsEmpty(view) then
				c = ToString(atof(size),5) + "/" + view;
			else
				c = size;
		else
			c = view;

		ERCResidential.GSUSiteView = c;
	end;
	CopyField("ERCResidential.GSUSiteView");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJDsgnAppl") then
		ERCResidential.GSJDsgnAppl = ERCResidential.GSUDsgnAppl;
	CopyField("ERCResidential.GSUDsgnAppl");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJQualConstr") then
		ERCResidential.GSJQualConstr = ERCResidential.GSUQualConstr;
	CopyField("ERCResidential.GSUQualConstr");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJAge") then
		ERCResidential.GSJAge = ERCResidential.GSUAge;
	CopyField("ERCResidential.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJCondition") then
		ERCResidential.GSJCondition = ERCResidential.GSUCondition;
	CopyField("ERCResidential.GSUCondition");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJInterior") then
		ERCResidential.GSJInterior = ERCResidential.GSUInterior;
	CopyField("ERCResidential.GSUInterior");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJTotRooms") then
		ERCResidential.GSJTotRooms = ERCResidential.GSUTotRooms;
	CopyField("ERCResidential.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJBedrooms") then
		ERCResidential.GSJBedrooms = ERCResidential.GSUBedrooms;
	CopyField("ERCResidential.GSUBedrooms");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJBaths") then
		ERCResidential.GSJBaths = ERCResidential.GSUBaths;
	CopyField("ERCResidential.GSUBaths");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJGLASqFt") then
		ERCResidential.GSJGLASqFt = ERCResidential.GSUGLASqFt;
	CopyField("ERCResidential.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	string a, b, c;
	if !Changed("ERCResidential.GSUBsmtArea") then
	begin
		a = ERCResidential.BSMAreaSF;
		b = ERCResidential.BSMPctFinished;
		if !IsEmpty(a) then
			if !IsEmpty(b) then
				c = a + "/" + b;
			else
				c = a;
		else
			c = b;

		ERCResidential.GSUBsmtArea = c;
	end;

	if !Changed("ERCResidential.GSJBsmtArea") then
		ERCResidential.GSJBsmtArea = ERCResidential.BSMAreaSF;

	if !Changed("ERCResidential.GSJBsmtRmFin") then
		ERCResidential.GSJBsmtRmFin = ERCResidential.BSMPctFinished;

	CopyField("ERCResidential.GSUBsmtArea");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJFuncUtility") then
		ERCResidential.GSJFuncUtility = ERCResidential.GSUFuncUtility;
	CopyField("ERCResidential.GSUFuncUtility");
end;


Formula:
routine main() returns nothing is
begin
	string h, c, d;
	if !Changed(ERCResidential.GSUHeatCool) then
	begin
		h = ERCResidential.HACHeatType;
		c = "";
		d = "";
		If !IsEmpty(ERCResidential.HACAC_Central) then
			c = "Central";
		else if !IsEmpty(ERCResidential.HACAC_Other) then
			c = ERCResidential.HACACOther_Text;
		If !IsEmpty(h) then
			If !IsEmpty(c) then
				d = h + "/" + c;
			else
				d = h;
		else
			d = c;
		ERCResidential.GSUHeatCool = d;
	end;
	if !Changed("ERCResidential.GSJHeatCool") then
		ERCResidential.GSJHeatCool = ERCResidential.GSUHeatCool;
	CopyField("ERCResidential.GSUHeatCool");
end;


Formula:
routine main() returns nothing is
begin
	string b;
	if !Changed("ERCResidential.GSUCarStorage") then
	begin
		b = "";
		if !IsEmpty(ERCResidential.EXTCarStorage_Garage) then
			b = "Garage";
		else if !IsEmpty(ERCResidential.ExtCarStorage_Carport) then
			b = "Carport";
		else if !IsEmpty(ERCResidential.ExtCarStorage_Attached) then
			b = "Attached";
		else if !IsEmpty(ERCResidential.ExtCarStorage_BltIn) then
			b = "Built-in";
		else if !IsEmpty(ERCResidential.EXTCarStorage_Basement) then
			b = "Basement";
		else if !IsEmpty(ERCResidential.ExtCarStorage_Detached) then
			b = "Detached";

		if !IsEmpty(ERCResidential.ExtNumCarSpac) then
			if !IsEmpty(b) then
				b = ERCResidential.ExtNumCarSpac + "-" + b;
			Else
				b = ERCResidential.ExtNumCarSpac;

		ERCResidential.GSUCarStorage = b;
	end;

	if !Changed("ERCResidential.GSJCarStorage") then
		ERCResidential.GSJCarStorage = ERCResidential.GSUCarStorage;

	CopyField("ERCResidential.GSUCarStorage");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJDeckPool") then
		ERCResidential.GSJDeckPool = ERCResidential.GSUDeckPool;

	CopyField("ERCResidential.GSUDeckPool");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJFeatures") then
		ERCResidential.GSJFeatures = ERCResidential.GSUFeatures;
	CopyField("ERCResidential.GSUFeatures");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJFireplace") then
		ERCResidential.GSJFireplace = ERCResidential.GSUFireplace;
	CopyField("ERCResidential.GSUFireplace");
end;


Formula:
routine main() returns nothing is
begin
	string c, p1, p2, p3, p4, p5, p6;
	integer Cnt;
	if !Changed("ERCResidential.GSUExtraItem") then
	begin
		c = "";
		Cnt = 0;
		p1 = p2 = p3 = p4 = p5 = p6 = "";
		if !IsEmpty(ERCResidential.KIT_Refrigerator) then
		begin
			Cnt++;
			p1 = p1 + ",Refrigerator";
			p2 = p2 + ",Refrig";
			p3 = p3 + ",Ref";
			p4 = p4 + ",Rf";
			p5 = p5 + ",Rf";
			p6 = p6 + ",R";
		end;
		if !IsEmpty(ERCResidential.KIT_RangeOven) then
		begin
			Cnt++;
			p1 = p1,",Range/Oven";
			p2 = p2,",Rg/Ov";
			p3 = p3,",R/O";
			p4 = p4,",RO";
			p5 = p5,",RO";
			p6 = p6,",R";
		end;
		if !IsEmpty(ERCResidential.KIT_Microwave) then
		begin
			Cnt++;
			p1 = p1,",Microwave";
			p2 = p2,",Micro";
			p3 = p3,",Mic";
			p4 = p4,",Mi";
			p5 = p5,",Mi";
			p6 = p6,",M";
		end;
		if !IsEmpty(ERCResidential.KIT_Dishwasher) then
		begin
			Cnt++;
			p1 = p1 + ",Dishwasher";
			p2 = p2 + ",Dishw";
			p3 = p3 + ",Dsh";
			p4 = p4 + ",Dw";
			p5 = p5 + ",Dw";
			p6 = p6 + ",D";
		end;
		if !IsEmpty(ERCResidential.KIT_FanHood) then
		begin
			Cnt++;
			p1 = p1 + ",Fan/Hood";
			p2 = p2 + ",Fn/Hd";
			p3 = p3 + ",F/H";
			p4 = p4 + ",FH";
			p5 = p5 + ",FH";
			p6 = p6 + ",F";
		end;
		if !IsEmpty(ERCResidential.KIT_Compact) then
		begin
			Cnt++;
			p1 = p1 + ",Compactor";
			p2 = p2 + ",Cmpct";
			p3 = p3 + ",Cmp";
			p4 = p4 + ",Cmp";
			p5 = p5 + ",Cm";
			p6 = p6 + ",C";
		end;
		if !IsEmpty(ERCResidential.KIT_Disposal) then
		begin
			Cnt++;
			p1 = p1 + ",Disposal";
			p2 = p2 + ",Dispos";
			p3 = p3 + ",Dsp";
			p4 = p4 + ",Dsp";
			p5 = p5 + ",Ds";
			p6 = p6 + ",D";
		end;
		if !IsEmpty(ERCResidential.KIT_Other) then
		begin
			Cnt++;
			t = ERCResidential.KITOther_Text;
			p1 = p1 + "," + t;
			p2 = p2 + "," + StrLeft(t,5);
			p3 = p3 + "," + StrLeft(t,3);
			p4 = p4 + "," + StrLeft(t,3);
			p5 = p5 + "," + StrLeft(t,2);
			p6 = p6 + "," + StrLeft(t,1);
		end;

		if Cnt = 0 then
			c = ","; 
		else if Cnt == 1 then
			c = p1;
		else if Cnt == 2 then
			c = p2;
		else if Cnt == 3 then
			c = p3;
		else if Cnt == 4 then
			c = p4;
		else if Cnt == 5 then
			c = p5;
		else if Cnt > 5 then
			c = p6;

		ERCResidential.GSUExtraItem = StrRight(c,(StrLength(c) - 1));
	end;
	if !Changed("ERCResidential.GSJSales") then
		ERCResidential.GSJSales = ERCResidential.GSUExtraItem;
	CopyField("ERCResidential.GSUExtraItem");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSJFinCon") then
		ERCResidential.GSJFinCon = ERCResidential.GSUExtraItem_Text;
	CopyField("ERCResidential.GSUExtraItem_Text");
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GC1SalesLstRatio") is
begin
	float a;
	a = atof(ERCResidential.GC1FinLstPrice);
	if a != 0 then
		ERCResidential.GC1SalesLstRatio = ToString(atof(ERCResidential.GC1SalePrice) / a, 5);
	else
		ERCResidential.GC1SalesLstRatio = "0";
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC1SiteAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJSite ERCResidential.GC1Site ERCResidential.GC2Site ERCResidential.GC3Site */
begin
	string n;
	float s, a;
	n = ERCResidential.GC1SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJSite);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1Site) then
			ERCResidential.GC1SiteAdj = ToString(Round(((s-atof(ERCResidential.GC1Site))*a)/100)*100);
		else
			ERCResidential.GC1SiteAdj = "";

		if !IsEmpty(ERCResidential.GC2Site) then
			ERCResidential.GC2SiteAdj = ToString(Round(((s-atof(ERCResidential.GC2Site))*a)/100)*100);
		else
			ERCResidential.GC2SiteAdj = "";

		if !IsEmpty(ERCResidential.GC3Site) then
			ERCResidential.GC3SiteAdj = ToString(Round(((s-atof(ERCResidential.GC3Site))*a)/100)*100);
		else
			ERCResidential.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC1AgeAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJAge ERCResidential.GC1Age ERCResidential.GC2Age ERCResidential.GC3Age */
begin
	string n;
	float s, a;
	n = ERCResidential.GC1AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJAge);
		a = atof(StrRight(n, StrLength(n)-1));
		if s < 1000 then
			a = 0-a;
		if !IsEmpty(ERCResidential.GC1Age) then
			ERCResidential.GC1AgeAdj = ToString(Round(((s-atof(ERCResidential.GC1Age))*a)/100)*100);
		else
			ERCResidential.GC1AgeAdj = "";

		if !IsEmpty(ERCResidential.GC2Age) then
			ERCResidential.GC2AgeAdj = ToString(Round(((s-atof(ERCResidential.GC2Age))*a)/100)*100);
		else
			ERCResidential.GC2AgeAdj = "";

		if !IsEmpty(ERCResidential.GC3Age) then
			ERCResidential.GC3AgeAdj = ToString(Round(((s-atof(ERCResidential.GC3Age))*a)/100)*100);
		else
			ERCResidential.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GC2SalesLstRatio") is
begin
	float a;
	a = atof(ERCResidential.GC2FinLstPrice);
	if a != 0 then
		ERCResidential.GC2SalesLstRatio = ToString(atof(ERCResidential.GC2SalePrice) / a,5);
	else
		ERCResidential.GC2SalesLstRatio = "0";
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC2SiteAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJSite ERCResidential.GC1Site ERCResidential.GC2Site ERCResidential.GC3Site */
begin
	string n;
	float s, a;
	n = ERCResidential.GC2SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJSite);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1Site) then
			ERCResidential.GC1SiteAdj = ToString(Round(((s-atof(ERCResidential.GC1Site))*a)/100)*100);
		else
			ERCResidential.GC1SiteAdj = "";

		if !IsEmpty(ERCResidential.GC2Site) then
			ERCResidential.GC2SiteAdj = ToString(Round(((s-atof(ERCResidential.GC2Site))*a)/100)*100);
		else
			ERCResidential.GC2SiteAdj = "";

		if !IsEmpty(ERCResidential.GC3Site) then
			ERCResidential.GC3SiteAdj = ToString(Round(((s-atof(ERCResidential.GC3Site))*a)/100)*100);
		else
			ERCResidential.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC2AgeAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJAge ERCResidential.GC1Age ERCResidential.GC2Age ERCResidential.GC3Age */
begin
	string n;
	float s, a;
	n = ERCResidential.GC2AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJAge);
		a = atof(StrRight(n, StrLength(n)-1));
		if s < 1000 then
			a = 0-a;
		if !IsEmpty(ERCResidential.GC1Age) then
			ERCResidential.GC1AgeAdj = ToString(Round(((s-atof(ERCResidential.GC1Age))*a)/100)*100);
		else
			ERCResidential.GC1AgeAdj = "";

		if !IsEmpty(ERCResidential.GC2Age) then
			ERCResidential.GC2AgeAdj = ToString(Round(((s-atof(ERCResidential.GC2Age))*a)/100)*100);
		else
			ERCResidential.GC2AgeAdj = "";

		if !IsEmpty(ERCResidential.GC3Age) then
			ERCResidential.GC3AgeAdj = ToString(Round(((s-atof(ERCResidential.GC3Age))*a)/100)*100);
		else
			ERCResidential.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("ERCResidential.GC3SalesLstRatio") is
begin
	float a;
	a = atof(ERCResidential.GC3FinLstPrice);
	if a != 0 then
		ERCResidential.GC3SalesLstRatio = ToString(atof(ERCResidential.GC3SalePrice)/a, 5);
	else
		ERCResidential.GC3SalesLstRatio = "0";
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC3SiteAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJSite ERCResidential.GC1Site ERCResidential.GC2Site ERCResidential.GC3Site */
begin
	string n;
	float s, a;
	n = ERCResidential.GC3SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJSite);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1Site) then
			ERCResidential.GC1SiteAdj = ToString(Round(((s-atof(ERCResidential.GC1Site))*a)/100)*100);
		else
			ERCResidential.GC1SiteAdj = "";

		if !IsEmpty(ERCResidential.GC2Site) then
			ERCResidential.GC2SiteAdj = ToString(Round(((s-atof(ERCResidential.GC2Site))*a)/100)*100);
		else
			ERCResidential.GC2SiteAdj = "";

		if !IsEmpty(ERCResidential.GC3Site) then
			ERCResidential.GC3SiteAdj = ToString(Round(((s-atof(ERCResidential.GC3Site))*a)/100)*100);
		else
			ERCResidential.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC3AgeAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJAge ERCResidential.GC1Age ERCResidential.GC2Age ERCResidential.GC3Age */
begin
	string n;
	float s, a;
	n = ERCResidential.GC3AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJAge);
		a = atof(StrRight(n, StrLength(n)-1));
		if s < 1000 then
			a = 0-a;
		if !IsEmpty(ERCResidential.GC1Age) then
			ERCResidential.GC1AgeAdj = ToString(Round(((s-atof(ERCResidential.GC1Age))*a)/100)*100);
		else
			ERCResidential.GC1AgeAdj = "";

		if !IsEmpty(ERCResidential.GC2Age) then
			ERCResidential.GC2AgeAdj = ToString(Round(((s-atof(ERCResidential.GC2Age))*a)/100)*100);
		else
			ERCResidential.GC2AgeAdj = "";

		if !IsEmpty(ERCResidential.GC3Age) then
			ERCResidential.GC3AgeAdj = ToString(Round(((s-atof(ERCResidential.GC3Age))*a)/100)*100);
		else
			ERCResidential.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	ERCResidential.GSUTotRooms = ERCResidential.GSJTotRooms;
	CopyField("ERCResidential.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	ERCResidential.GSUBedrooms = ERCResidential.GSJBedrooms;
	CopyField("ERCResidential.GSUBedrooms");
end;


Formula:
routine main() returns nothing is
begin
	ERCResidential.GSUBaths = ERCResidential.GSJBaths;
	CopyField("ERCResidential.GSUBaths");
end;


Formula:
routine main() returns nothing is
begin
	ERCResidential.GSUGLASqFt = ERCResidential.GSJGLASqFt;
	CopyField("ERCResidential.GSUGLASqFt");
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC1BathAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJBaths ERCResidential.GC1Baths ERCResidential.GC2Baths ERCResidential.GC3Baths */
begin
	string n;
	float s, a;
	n = ERCResidential.GC1BathAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJBaths);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1Baths) then
			ERCResidential.GC1BathAdj = ToString(Round(((s-atof(ERCResidential.GC1Baths))*a)/100)*100);
		else
			ERCResidential.GC1BathAdj = "";

		if !IsEmpty(ERCResidential.GC2Baths) then
			ERCResidential.GC2BathAdj = ToString(Round(((s-atof(ERCResidential.GC2Baths))*a)/100)*100);
		else
			ERCResidential.GC2BathAdj = "";

		if !IsEmpty(ERCResidential.GC3Baths) then
			ERCResidential.GC3BathAdj = ToString(Round(((s-atof(ERCResidential.GC3Baths))*a)/100)*100);
		else
			ERCResidential.GC3BathAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC1GLASqFtAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJGLASqFt ERCResidential.GC1GLASqFt ERCResidential.GC2GLASqFt ERCResidential.GC3GLASqFt */
begin
	string n;
	float s, a;
	n = ERCResidential.GC1GLASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJGLASqFt);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1GLASqFt) then
			ERCResidential.GC1GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC1GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC1GLASqFtAdj = "";

		if !IsEmpty(ERCResidential.GC2GLASqFt) then
			ERCResidential.GC2GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC2GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC2GLASqFtAdj = "";

		if !IsEmpty(ERCResidential.GC3GLASqFt) then
			ERCResidential.GC3GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC3GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC3GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC1BsmtAreaAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJBsmtArea ERCResidential.GC1BsmtArea ERCResidential.GC2BsmtArea ERCResidential.GC3BsmtArea */
begin
	string n;
	float s, a;
	n = ERCResidential.GC1BsmtAreaAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJBsmtArea);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1BsmtArea) then
			ERCResidential.GC1BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC1BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC1BsmtAreaAdj = "";

		if !IsEmpty(ERCResidential.GC2BsmtArea) then
			ERCResidential.GC2BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC2BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC2BsmtAreaAdj = "";

		if !IsEmpty(ERCResidential.GC3BsmtArea) then
			ERCResidential.GC3BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC3BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC3BsmtAreaAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GC1IndValue" is
/* no depends ERCResidential.NetAjust1_Plus_Box ERCResidential.NetAjust1_Minus_Box */
begin
	float a;
	a = atof(ERCResidential.GC1SalesAdj) + atof(ERCResidential.GC1FinConAdj) + 
		atof(ERCResidential.GC1ContractAdj) + atof(ERCResidential.GC1DateAdj) + 
		atof(ERCResidential.GC1LocationAdj) + atof(ERCResidential.GC1SiteAdj) + 
		atof(ERCResidential.GC1ViewAdj) + atof(ERCResidential.GC1DsgnApplAdj) + 
		atof(ERCResidential.GC1QualConstrAdj) + atof(ERCResidential.GC1AgeAdj) + 
		atof(ERCResidential.GC1ConditionAdj) + atof(ERCResidential.GC1InteriorAdj) + 
		atof(ERCResidential.GC1BedroomsAdj) +atof(ERCResidential.GC1BathAdj) +  
		atof(ERCResidential.GC1GLASqFtAdj) + atof(ERCResidential.GC1BsmtAreaAdj) + 
		atof(ERCResidential.GC1BsmtRmFinAdj) + atof(ERCResidential.GC1FuncutilityAdj) + 
		atof(ERCResidential.GC1HeatCoolAdj) + atof(ERCResidential.GC1CarStorageAdj) + 
		atof(ERCResidential.GC1DecksAdj) + atof(ERCResidential.GC1PoolsAdj) + 
		atof(ERCResidential.GC1SigFeaturesAdj) + atof(ERCResidential.GC1SigFeaturesAdj_Text) + 
		atof(ERCResidential.GC1SigFeatures1Adj_Text) + atof(ERCResidential.GC1FireplaceAdj) + 
		atof(ERCResidential.GC1OtherAdj) + atof(ERCResidential.GC1OtherAdj_Text) + 
		atof(ERCResidential.GC1ForecastingAdj);

	ERCResidential.GC1NetAdjAmt = ToString(a,5);
	if IsEmpty(ERCResidential.GC1NetAdjAmt) then
	begin
		ERCResidential.NetAjust1_Plus_Box = "";
		ERCResidential.NetAjust1_Minus_Box = "";
	end;
	else if a >= 0 then
	begin
		ERCResidential.NetAjust1_Plus_Box = "X";
		ERCResidential.NetAjust1_Minus_Box = "";
	end;
	else
	begin
		ERCResidential.NetAjust1_Plus_Box = "";
		ERCResidential.NetAjust1_Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	ERCResidential.GC1IndValue = 
		ToString(atof(ERCResidential.GC1NetAdjAmt) + 
		atof(ERCResidential.GC1SalePrice),5);
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC2BathAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJBaths ERCResidential.GC1Baths ERCResidential.GC2Baths ERCResidential.GC3Baths */
begin
	string n;
	float s, a;
	n = ERCResidential.GC2BathAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJBaths);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1Baths) then
			ERCResidential.GC1BathAdj = ToString(Round(((s-atof(ERCResidential.GC1Baths))*a)/100)*100);
		else
			ERCResidential.GC1BathAdj = "";

		if !IsEmpty(ERCResidential.GC2Baths) then
			ERCResidential.GC2BathAdj = ToString(Round(((s-atof(ERCResidential.GC2Baths))*a)/100)*100);
		else
			ERCResidential.GC2BathAdj = "";

		if !IsEmpty(ERCResidential.GC3Baths) then
			ERCResidential.GC3BathAdj = ToString(Round(((s-atof(ERCResidential.GC3Baths))*a)/100)*100);
		else
			ERCResidential.GC3BathAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC2GLASqFtAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJGLASqFt ERCResidential.GC1GLASqFt ERCResidential.GC2GLASqFt ERCResidential.GC3GLASqFt */
begin
	string n;
	float s, a;
	n = ERCResidential.GC2GLASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJGLASqFt);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1GLASqFt) then
			ERCResidential.GC1GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC1GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC1GLASqFtAdj = "";

		if !IsEmpty(ERCResidential.GC2GLASqFt) then
			ERCResidential.GC2GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC2GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC2GLASqFtAdj = "";

		if !IsEmpty(ERCResidential.GC3GLASqFt) then
			ERCResidential.GC3GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC3GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC3GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC2BsmtAreaAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJBsmtArea ERCResidential.GC1BsmtArea ERCResidential.GC2BsmtArea ERCResidential.GC3BsmtArea */
begin
	string n;
	float s, a;
	n = ERCResidential.GC2BsmtAreaAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJBsmtArea);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1BsmtArea) then
			ERCResidential.GC1BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC1BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC1BsmtAreaAdj = "";

		if !IsEmpty(ERCResidential.GC2BsmtArea) then
			ERCResidential.GC2BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC2BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC2BsmtAreaAdj = "";

		if !IsEmpty(ERCResidential.GC3BsmtArea) then
			ERCResidential.GC3BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC3BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC3BsmtAreaAdj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends ERCResidential.NetAjust2_Plus_Box ERCResidential.NetAjust2_Minus_Box */
begin
	float a, t;
	if IsEmpty(ERCResidential.GC2Address1) then
		return;

	a = atof(ERCResidential.GC2SalesAdj) + atof(ERCResidential.GC2FinConAdj) + 
		atof(ERCResidential.GC2ContractAdj) + atof(ERCResidential.GC2DateAdj) + 
		atof(ERCResidential.GC2LocationAdj) + atof(ERCResidential.GC2SiteAdj) + 
		atof(ERCResidential.GC2ViewAdj) + atof(ERCResidential.GC2DsgnApplAdj) + 
		atof(ERCResidential.GC2QualConstrAdj) + atof(ERCResidential.GC2AgeAdj) + 
		atof(ERCResidential.GC2ConditionAdj) + atof(ERCResidential.GC2InteriorAdj) + 
		atof(ERCResidential.GC2BedroomsAdj) +atof(ERCResidential.GC2BathAdj) +  
		atof(ERCResidential.GC2GLASqFtAdj) + atof(ERCResidential.GC2BsmtAreaAdj) + 
		atof(ERCResidential.GC2BsmtRmFinAdj) + atof(ERCResidential.GC2FuncutilityAdj) + 
		atof(ERCResidential.GC2HeatCoolAdj) + atof(ERCResidential.GC2CarStorageAdj) + 
		atof(ERCResidential.GC2DecksAdj) + atof(ERCResidential.GC2PoolsAdj) + 
		atof(ERCResidential.GC2SigFeaturesAdj) + atof(ERCResidential.GC2SigFeaturesAdj_Text) + 
		atof(ERCResidential.GC2SigFeatures1Adj_Text) + atof(ERCResidential.GC2FireplaceAdj) + 
		atof(ERCResidential.GC2OtherAdj) + atof(ERCResidential.GC2OtherAdj_Text) + 
		atof(ERCResidential.GC2ForecastingAdj);

	ERCResidential.GC2NetAdjAmt = ToString(a,5);
	if a >= 0 then
	begin
		ERCResidential.NetAjust2_Plus_Box = "X";
		ERCResidential.NetAjust2_Minus_Box = "";
	end;
	else
	begin
		ERCResidential.NetAjust2_Plus_Box = "";
		ERCResidential.NetAjust2_Minus_Box = "X";
	end;

	ERCResidential.GC2IndValue = ToString(atof(ERCResidential.GC2NetAdjAmt) + atof(ERCResidential.GC2SalePrice),5);
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC3BathAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJBaths ERCResidential.GC1Baths ERCResidential.GC2Baths ERCResidential.GC3Baths */
begin
	string n;
	float s, a;
	n = ERCResidential.GC3BathAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJBaths);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1Baths) then
			ERCResidential.GC1BathAdj = ToString(Round(((s-atof(ERCResidential.GC1Baths))*a)/100)*100);
		else
			ERCResidential.GC1BathAdj = "";

		if !IsEmpty(ERCResidential.GC2Baths) then
			ERCResidential.GC2BathAdj = ToString(Round(((s-atof(ERCResidential.GC2Baths))*a)/100)*100);
		else
			ERCResidential.GC2BathAdj = "";

		if !IsEmpty(ERCResidential.GC3Baths) then
			ERCResidential.GC3BathAdj = ToString(Round(((s-atof(ERCResidential.GC3Baths))*a)/100)*100);
		else
			ERCResidential.GC3BathAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC3GLASqFtAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJGLASqFt ERCResidential.GC1GLASqFt ERCResidential.GC2GLASqFt ERCResidential.GC3GLASqFt */
begin
	string n;
	float s, a;
	n = ERCResidential.GC3GLASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJGLASqFt);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1GLASqFt) then
			ERCResidential.GC1GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC1GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC1GLASqFtAdj = "";

		if !IsEmpty(ERCResidential.GC2GLASqFt) then
			ERCResidential.GC2GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC2GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC2GLASqFtAdj = "";

		if !IsEmpty(ERCResidential.GC3GLASqFt) then
			ERCResidential.GC3GLASqFtAdj = ToString(Round(((s-atof(ERCResidential.GC3GLASqFt))*a)/100)*100);
		else
			ERCResidential.GC3GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("ERCResidential.GC3BsmtAreaAdj"),
affects "ERCResidential.GC1NetAdjAmt,ERCResidential.GC2NetAdjAmt,ERCResidential.GC3NetAdjAmt",
affects "ERCResidential.GC1GrossPct_Value,ERCResidential.GC2GrossPct_Value,ERCResidential.GC3GrossPct_Value",
affects "ERCResidential.GC1NetPct_Value,ERCResidential.GC2NetPct_Value,ERCResidential.GC3NetPct_Value" is
/* no depends ERCResidential.GSJBsmtArea ERCResidential.GC1BsmtArea ERCResidential.GC2BsmtArea ERCResidential.GC3BsmtArea */
begin
	string n;
	float s, a;
	n = ERCResidential.GC3BsmtAreaAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(ERCResidential.GSJBsmtArea);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(ERCResidential.GC1BsmtArea) then
			ERCResidential.GC1BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC1BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC1BsmtAreaAdj = "";

		if !IsEmpty(ERCResidential.GC2BsmtArea) then
			ERCResidential.GC2BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC2BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC2BsmtAreaAdj = "";

		if !IsEmpty(ERCResidential.GC3BsmtArea) then
			ERCResidential.GC3BsmtAreaAdj = ToString(Round(((s-atof(ERCResidential.GC3BsmtArea))*a)/100)*100);
		else
			ERCResidential.GC3BsmtAreaAdj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends ERCResidential.NetAjust3_Plus_Box ERCResidential.NetAjust3_Minus_Box */
begin
	float a, t;
	if IsEmpty(ERCResidential.GC3Address1) then
		return;

	a = atof(ERCResidential.GC3SalesAdj) + atof(ERCResidential.GC3FinConAdj) + 
		atof(ERCResidential.GC3ContractAdj) + atof(ERCResidential.GC3DateAdj) + 
		atof(ERCResidential.GC3LocationAdj) + atof(ERCResidential.GC3SiteAdj) + 
		atof(ERCResidential.GC3ViewAdj) + atof(ERCResidential.GC3DsgnApplAdj) + 
		atof(ERCResidential.GC3QualConstrAdj) + atof(ERCResidential.GC3AgeAdj) + 
		atof(ERCResidential.GC3ConditionAdj) + atof(ERCResidential.GC3InteriorAdj) + 
		atof(ERCResidential.GC3BedroomsAdj) +atof(ERCResidential.GC3BathAdj) +  
		atof(ERCResidential.GC3GLASqFtAdj) + atof(ERCResidential.GC3BsmtAreaAdj) + 
		atof(ERCResidential.GC3BsmtRmFinAdj) + atof(ERCResidential.GC3FuncutilityAdj) + 
		atof(ERCResidential.GC3HeatCoolAdj) + atof(ERCResidential.GC3CarStorageAdj) + 
		atof(ERCResidential.GC3DecksAdj) + atof(ERCResidential.GC3PoolsAdj) + 
		atof(ERCResidential.GC3SigFeaturesAdj) + atof(ERCResidential.GC3SigFeaturesAdj_Text) + 
		atof(ERCResidential.GC3SigFeatures1Adj_Text) + atof(ERCResidential.GC3FireplaceAdj) + 
		atof(ERCResidential.GC3OtherAdj) + atof(ERCResidential.GC3OtherAdj_Text) + 
		atof(ERCResidential.GC3ForecastingAdj);

	ERCResidential.GC3NetAdjAmt = ToString(a,5);
	if a >= 0 then
	begin
		ERCResidential.NetAjust3_Plus_Box = "X";
		ERCResidential.NetAjust3_Minus_Box = "";
	end;
	else
	begin
		ERCResidential.NetAjust3_Plus_Box = "";
		ERCResidential.NetAjust3_Minus_Box = "X";
	end;

	ERCResidential.GC3IndValue = ToString(atof(ERCResidential.GC3NetAdjAmt) + atof(ERCResidential.GC3SalePrice),5);
end;


Formula:
routine main() returns nothing is
begin
	begin
		ERCResidential.RECApprSignDate = ERCResidential.RECInspectDate;
	end;
	CopyField("ERCResidential.RECApprSignDate");
	CopyField("ERCResidential.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.RECEstMktValue");
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUAddress1,ERCResidential.GSUAddress2",
affects "ERCResidential.GSJAddress1,ERCResidential.GSJAddress2",
affects "ERCResidential.SUBPropAddress,ERCResidential.SUBPropCityStateZip" is
/* no depends ERCResidential.SUBPropAddress ERCResidential.GSUAddress1 ERCResidential.GSUAddress2 */
begin
	integer off;
	string str, addr1, city, state;

	if IsEmpty(ERCResidential.SUBFullAddress) then
		ERCResidential.SUBFullAddress = ERCResidential.SUBPropAddress;

	off = StrRChr(ERCResidential.SUBFullAddress, ",");
	if off >= 0 then
	begin
		str = StrLeft(ERCResidential.SUBFullAddress, off);
		state = StrTrim(StrMid(ERCResidential.SUBFullAddress, off+1));
		city = "";
		addr1 = "";

		off = StrRChr(str, ",");
		if off >= 0 then
		begin
			addr1 = StrLeft(str, off);
			city = StrMid(str, off+1, StrLength(str)-off-1);
		end;

		if !Changed("ERCResidential.SUBPropAddress") then
			ERCResidential.SUBPropAddress = addr1;
		if !Changed("ERCResidential.SUBPropCityStateZip") then
			ERCResidential.SUBPropCityStateZip = city + ", " + state;
		if !Changed("ERCResidential.GSUAddress1")  then
			ERCResidential.GSUAddress1 = addr1;
		if !Changed("ERCResidential.GSUAddress2")  then
			ERCResidential.GSUAddress2 = city + ", " + state;
	end;
	else
	begin
		if !Changed("ERCResidential.GSUAddress1")  then
			ERCResidential.GSUAddress1 = ERCResidential.SUBFullAddress;
		if !Changed("ERCResidential.GSUAddress2")  then
			ERCResidential.GSUAddress2 = "";
	end;

	if !Changed("ERCResidential.GSJAddress1")  then
		ERCResidential.GSJAddress1 = ERCResidential.GSUAddress1;
	if !Changed("ERCResidential.GSJAddress2")  then
		ERCResidential.GSJAddress2 = ERCResidential.GSUAddress2;

	if !Changed("ERCResidential.SUBPropAddress2")  then
		ERCResidential.SUBPropAddress2 = ERCResidential.SUBFullAddress;

	CopyField("ERCResidential.SUBFullAddress");
	CopyField("ERCResidential.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.SUBOwner");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("ERCResidential.GSUAddress1")  then
		ERCResidential.GSUAddress1 = ERCResidential.SUBPropAddress;
end;


Formula:
routine main() returns nothing,
affects "ERCResidential.GSUAddress2" is
begin
	integer n;
	string s, Cs, Ss, Zs;
	if !Changed("ERCResidential.GSUAddress2")  then
		ERCResidential.GSUAddress2 = ERCResidential.SUBPropCityStateZip;
	CopyField("ERCResidential.SUBPropCityStateZip");

	if !IsEmpty(ERCResidential.SUBPropCityStateZip) then
	begin
		Cs = Ss = Zs = "";
		s = ERCResidential.SUBPropCityStateZip;
		n = StrRChr(s, ",");
		if n >= 0 then
		begin
			Cs = StrLeft(s, n);
			s = StrMid(s, n+1);
			s = StrTrim(s);
			n = StrRChr(s, " ");
			if n >= 0 then
			begin
				Ss = StrLeft(s, n);
				Zs = StrMid(s, n+1);
			end;
		end;
		else
			Cs = s;

		ERCResidential.SUBCity = Cs;
		ERCResidential.SUBState = Ss;
		ERCResidential.SUBZip = Zs;
	end;

	CopyField("ERCResidential.SUBCity");
	CopyField("ERCResidential.SUBState");
	CopyField("ERCResidential.SUBZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.APPRName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.APPRDateOfReport");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.APPRTaxIdNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.APPRStateLicCertNo");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.APPRStateLicCertState");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("ERCResidential.APPRLicCertExpDate");
end;


Formula:
routine main() returns nothing is
begin
	float p, t;
	p = atof(ERCResidential.GC1SalePrice);

	if p != 0 then
	begin
		t = Abs(atof(ERCResidential.GC1SalesAdj)) + Abs(atof(ERCResidential.GC1FinConAdj)) + 
			Abs(atof(ERCResidential.GC1ContractAdj)) + Abs(atof(ERCResidential.GC1DateAdj)) + 
			Abs(atof(ERCResidential.GC1LocationAdj)) + Abs(atof(ERCResidential.GC1SiteAdj)) + 
			Abs(atof(ERCResidential.GC1ViewAdj)) + Abs(atof(ERCResidential.GC1DsgnApplAdj)) + 
			Abs(atof(ERCResidential.GC1QualConstrAdj)) + Abs(atof(ERCResidential.GC1AgeAdj)) + 
			Abs(atof(ERCResidential.GC1ConditionAdj)) + Abs(atof(ERCResidential.GC1InteriorAdj)) + 
			Abs(atof(ERCResidential.GC1BedroomsAdj)) + Abs(atof(ERCResidential.GC1BathAdj)) + 
			Abs(atof(ERCResidential.GC1GLASqFtAdj)) + Abs(atof(ERCResidential.GC1BsmtAreaAdj)) + 
			Abs(atof(ERCResidential.GC1BsmtRmFinAdj)) + Abs(atof(ERCResidential.GC1FuncutilityAdj)) + 
			Abs(atof(ERCResidential.GC1HeatCoolAdj)) + Abs(atof(ERCResidential.GC1CarStorageAdj)) + 
			Abs(atof(ERCResidential.GC1DecksAdj)) + Abs(atof(ERCResidential.GC1PoolsAdj)) + 
			Abs(atof(ERCResidential.GC1SigFeaturesAdj)) + Abs(atof(ERCResidential.GC1SigFeaturesAdj_Text)) + 
			Abs(atof(ERCResidential.GC1SigFeatures1Adj_Text)) + Abs(atof(ERCResidential.GC1FireplaceAdj)) + 
			Abs(atof(ERCResidential.GC1OtherAdj)) + Abs(atof(ERCResidential.GC1OtherAdj_Text)) + 
			Abs(atof(ERCResidential.GC1ForecastingAdj));

		ERCResidential.GC1GrossPct_Value = ToString(t/p*100,5);
		ERCResidential.GC1GrossPct_Sign = "G%";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float p, a;
	p = atof(ERCResidential.GC1SalePrice);

	if p != 0 then
	begin
		a = atof(ERCResidential.GC1SalesAdj) + atof(ERCResidential.GC1FinConAdj) + 
			atof(ERCResidential.GC1ContractAdj) + atof(ERCResidential.GC1DateAdj) + 
			atof(ERCResidential.GC1LocationAdj) + atof(ERCResidential.GC1SiteAdj) + 
			atof(ERCResidential.GC1ViewAdj) + atof(ERCResidential.GC1DsgnApplAdj) + 
			atof(ERCResidential.GC1QualConstrAdj) + atof(ERCResidential.GC1AgeAdj) + 
			atof(ERCResidential.GC1ConditionAdj) + atof(ERCResidential.GC1InteriorAdj) + 
			atof(ERCResidential.GC1BedroomsAdj) +atof(ERCResidential.GC1BathAdj) +  
			atof(ERCResidential.GC1GLASqFtAdj) + atof(ERCResidential.GC1BsmtAreaAdj) + 
			atof(ERCResidential.GC1BsmtRmFinAdj) + atof(ERCResidential.GC1FuncutilityAdj) + 
			atof(ERCResidential.GC1HeatCoolAdj) + atof(ERCResidential.GC1CarStorageAdj) + 
			atof(ERCResidential.GC1DecksAdj) + atof(ERCResidential.GC1PoolsAdj) + 
			atof(ERCResidential.GC1SigFeaturesAdj) + atof(ERCResidential.GC1SigFeaturesAdj_Text) + 
			atof(ERCResidential.GC1SigFeatures1Adj_Text) + atof(ERCResidential.GC1FireplaceAdj) + 
			atof(ERCResidential.GC1OtherAdj) + atof(ERCResidential.GC1OtherAdj_Text) + 
			atof(ERCResidential.GC1ForecastingAdj);

		ERCResidential.GC1NetPct_Value = ToString(Abs(a)/p*100,5);
		ERCResidential.GC1NetPct_Sign = "N%";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float p, t;
	p = atof(ERCResidential.GC2SalePrice);

	if p != 0 then
	begin
		t = Abs(atof(ERCResidential.GC2SalesAdj)) + Abs(atof(ERCResidential.GC2FinConAdj)) + 
			Abs(atof(ERCResidential.GC2ContractAdj)) + Abs(atof(ERCResidential.GC2DateAdj)) + 
			Abs(atof(ERCResidential.GC2LocationAdj)) + Abs(atof(ERCResidential.GC2SiteAdj)) + 
			Abs(atof(ERCResidential.GC2ViewAdj)) + Abs(atof(ERCResidential.GC2DsgnApplAdj)) + 
			Abs(atof(ERCResidential.GC2QualConstrAdj)) + Abs(atof(ERCResidential.GC2AgeAdj)) + 
			Abs(atof(ERCResidential.GC2ConditionAdj)) + Abs(atof(ERCResidential.GC2InteriorAdj)) + 
			Abs(atof(ERCResidential.GC2BedroomsAdj)) + Abs(atof(ERCResidential.GC2BathAdj)) +  
			Abs(atof(ERCResidential.GC2GLASqFtAdj)) + Abs(atof(ERCResidential.GC2BsmtAreaAdj)) + 
			Abs(atof(ERCResidential.GC2BsmtRmFinAdj)) + Abs(atof(ERCResidential.GC2FuncutilityAdj)) + 
			Abs(atof(ERCResidential.GC2HeatCoolAdj)) + Abs(atof(ERCResidential.GC2CarStorageAdj)) + 
			Abs(atof(ERCResidential.GC2DecksAdj)) + Abs(atof(ERCResidential.GC2PoolsAdj)) + 
			Abs(atof(ERCResidential.GC2SigFeaturesAdj)) + Abs(atof(ERCResidential.GC2SigFeaturesAdj_Text)) + 
			Abs(atof(ERCResidential.GC2SigFeatures1Adj_Text)) + Abs(atof(ERCResidential.GC2FireplaceAdj)) + 
			Abs(atof(ERCResidential.GC2OtherAdj)) + Abs(atof(ERCResidential.GC2OtherAdj_Text)) + 
			Abs(atof(ERCResidential.GC2ForecastingAdj));

		ERCResidential.GC2GrossPct_Value = ToString(t/p*100,5);
		ERCResidential.GC2GrossPct_Sign = "G%";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float p, a;
	p = atof(ERCResidential.GC2SalePrice);

	if p != 0 then
	begin
		a = atof(ERCResidential.GC2SalesAdj) + atof(ERCResidential.GC2FinConAdj) + 
			atof(ERCResidential.GC2ContractAdj) + atof(ERCResidential.GC2DateAdj) + 
			atof(ERCResidential.GC2LocationAdj) + atof(ERCResidential.GC2SiteAdj) + 
			atof(ERCResidential.GC2ViewAdj) + atof(ERCResidential.GC2DsgnApplAdj) + 
			atof(ERCResidential.GC2QualConstrAdj) + atof(ERCResidential.GC2AgeAdj) + 
			atof(ERCResidential.GC2ConditionAdj) + atof(ERCResidential.GC2InteriorAdj) + 
			atof(ERCResidential.GC2BedroomsAdj) +atof(ERCResidential.GC2BathAdj) +  
			atof(ERCResidential.GC2GLASqFtAdj) + atof(ERCResidential.GC2BsmtAreaAdj) + 
			atof(ERCResidential.GC2BsmtRmFinAdj) + atof(ERCResidential.GC2FuncutilityAdj) + 
			atof(ERCResidential.GC2HeatCoolAdj) + atof(ERCResidential.GC2CarStorageAdj) + 
			atof(ERCResidential.GC2DecksAdj) + atof(ERCResidential.GC2PoolsAdj) + 
			atof(ERCResidential.GC2SigFeaturesAdj) + atof(ERCResidential.GC2SigFeaturesAdj_Text) + 
			atof(ERCResidential.GC2SigFeatures1Adj_Text) + atof(ERCResidential.GC2FireplaceAdj) + 
			atof(ERCResidential.GC2OtherAdj) + atof(ERCResidential.GC2OtherAdj_Text) + 
			atof(ERCResidential.GC2ForecastingAdj);

		ERCResidential.GC2NetPct_Value = ToString(Abs(a)/p*100,5);
		ERCResidential.GC2NetPct_Sign = "N%";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float p, t;
	p = atof(ERCResidential.GC3SalePrice);

	if p != 0 then
	begin
		t = Abs(atof(ERCResidential.GC3SalesAdj)) + Abs(atof(ERCResidential.GC3FinConAdj)) + 
			Abs(atof(ERCResidential.GC3ContractAdj)) + Abs(atof(ERCResidential.GC3DateAdj)) + 
			Abs(atof(ERCResidential.GC3LocationAdj)) + Abs(atof(ERCResidential.GC3SiteAdj)) + 
			Abs(atof(ERCResidential.GC3ViewAdj)) + Abs(atof(ERCResidential.GC3DsgnApplAdj)) + 
			Abs(atof(ERCResidential.GC3QualConstrAdj)) + Abs(atof(ERCResidential.GC3AgeAdj)) + 
			Abs(atof(ERCResidential.GC3ConditionAdj)) + Abs(atof(ERCResidential.GC3InteriorAdj)) + 
			Abs(atof(ERCResidential.GC3BedroomsAdj)) + Abs(atof(ERCResidential.GC3BathAdj)) +  
			Abs(atof(ERCResidential.GC3GLASqFtAdj)) + Abs(atof(ERCResidential.GC3BsmtAreaAdj)) + 
			Abs(atof(ERCResidential.GC3BsmtRmFinAdj)) + Abs(atof(ERCResidential.GC3FuncutilityAdj)) + 
			Abs(atof(ERCResidential.GC3HeatCoolAdj)) + Abs(atof(ERCResidential.GC3CarStorageAdj)) + 
			Abs(atof(ERCResidential.GC3DecksAdj)) + Abs(atof(ERCResidential.GC3PoolsAdj)) + 
			Abs(atof(ERCResidential.GC3SigFeaturesAdj)) + Abs(atof(ERCResidential.GC3SigFeaturesAdj_Text)) + 
			Abs(atof(ERCResidential.GC3SigFeatures1Adj_Text)) + Abs(atof(ERCResidential.GC3FireplaceAdj)) + 
			Abs(atof(ERCResidential.GC3OtherAdj)) + Abs(atof(ERCResidential.GC3OtherAdj_Text)) + 
			Abs(atof(ERCResidential.GC3ForecastingAdj));

		ERCResidential.GC3GrossPct_Value = ToString(t/p*100,5);
		ERCResidential.GC3GrossPct_Sign = "G%";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float p, a;
	p = atof(ERCResidential.GC3SalePrice);

	if p != 0 then
	begin
		a = atof(ERCResidential.GC3SalesAdj) + atof(ERCResidential.GC3FinConAdj) + 
			atof(ERCResidential.GC3ContractAdj) + atof(ERCResidential.GC3DateAdj) + 
			atof(ERCResidential.GC3LocationAdj) + atof(ERCResidential.GC3SiteAdj) + 
			atof(ERCResidential.GC3ViewAdj) + atof(ERCResidential.GC3DsgnApplAdj) + 
			atof(ERCResidential.GC3QualConstrAdj) + atof(ERCResidential.GC3AgeAdj) + 
			atof(ERCResidential.GC3ConditionAdj) + atof(ERCResidential.GC3InteriorAdj) + 
			atof(ERCResidential.GC3BedroomsAdj) +atof(ERCResidential.GC3BathAdj) +  
			atof(ERCResidential.GC3GLASqFtAdj) + atof(ERCResidential.GC3BsmtAreaAdj) + 
			atof(ERCResidential.GC3BsmtRmFinAdj) + atof(ERCResidential.GC3FuncutilityAdj) + 
			atof(ERCResidential.GC3HeatCoolAdj) + atof(ERCResidential.GC3CarStorageAdj) + 
			atof(ERCResidential.GC3DecksAdj) + atof(ERCResidential.GC3PoolsAdj) + 
			atof(ERCResidential.GC3SigFeaturesAdj) + atof(ERCResidential.GC3SigFeaturesAdj_Text) + 
			atof(ERCResidential.GC3SigFeatures1Adj_Text) + atof(ERCResidential.GC3FireplaceAdj) + 
			atof(ERCResidential.GC3OtherAdj) + atof(ERCResidential.GC3OtherAdj_Text) + 
			atof(ERCResidential.GC3ForecastingAdj);

		ERCResidential.GC3NetPct_Value = ToString(Abs(a)/p*100,5);
		ERCResidential.GC3NetPct_Sign = "N%";
	end;
end;


# EXSUMmary

Formula:
routine main() returns nothing is
begin
	CopyField("EXSummary.SUBPropAddress");
end;


# FEMASFHD

Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBLenClient2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBLCAddress2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBLegalDescip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBCity");
	FEMASFHD.SUBPropCityStateZip = FEMASFHD.SUBCity + ", " + 
		FEMASFHD.SUBState + " " + FEMASFHD.SUBZip;
	CopyField("FEMASFHD.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBState");
	FEMASFHD.SUBPropCityStateZip = FEMASFHD.SUBCity + ", " + 
		FEMASFHD.SUBState + " " + FEMASFHD.SUBZip;
	CopyField("FEMASFHD.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBZip");
	FEMASFHD.SUBPropCityStateZip = FEMASFHD.SUBCity + ", " + 
		FEMASFHD.SUBState + " " + FEMASFHD.SUBZip;
	CopyField("FEMASFHD.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("FEMASFHD.SUBCounty");
end;


# Form2055

Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupInsp_Int");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupCompInsp_Ext");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupCompInsp_Int");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSuperviser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupCompany_Addr");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupCompany_Addr2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECEstMktVal");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECInspectDate");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUPriceGLA" is
begin
	if !Changed("Form2055.GSUGLASqFt") then
		Form2055.GSUGLASqFt = Form2055.RMSAGSqFtGLA;

	CopyField("Form2055.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUBedRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUBaths");
end;


Formula:
routine main() returns nothing is
begin
	Form2055.ClientCaseNumber2 = Form2055.ClientCaseNumber;
	Form2055.ClientCaseNumber3 = Form2055.ClientCaseNumber;
	CopyField("Form2055.ClientCaseNumber");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUAddress1" is
begin
	if !Changed("Form2055.GSUAddress1") then
		Form2055.GSUAddress1 = Form2055.SUBPropAddress;
	if !Changed("Form2055.RECAprProperty_Addr1") then
		Form2055.RECAprProperty_Addr1 = Form2055.SUBPropAddress;
	CopyField("Form2055.SUBPropAddress");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUAddress2" is
/* no depends Form2055.SUBState Form2055.SUBZip */
begin
	CopyField("Form2055.SUBCity");
	begin
		Form2055.SUBPropCityStateZip = Form2055.SUBCity + ", " +
			Form2055.SUBState + " " + Form2055.SUBZip;
	end;
	CopyField("Form2055.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUAddress2" is
/* no depends Form2055.SUBCity Form2055.SUBZip */
begin
	CopyField("Form2055.SUBState");
	begin
		Form2055.SUBPropCityStateZip = Form2055.SUBCity + ", " +
			Form2055.SUBState + " " + Form2055.SUBZip;
	end;
	CopyField("Form2055.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUAddress2" is
/* no depends Form2055.SUBCity Form2055.SUBState */
begin
	CopyField("Form2055.SUBZip");
	begin
		Form2055.SUBPropCityStateZip = Form2055.SUBCity + ", " +
			Form2055.SUBState + " " + Form2055.SUBZip;
	end;
	CopyField("Form2055.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBAssessParcel");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBTaxYear");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBRETax");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBSpecAssess");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2055.SUBCurOwner") is 
begin 
	Form2055.SUBCurOwner = Form2055.SUBBorrower; 
	CopyField("Form2055.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBCurOwner");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2055.GSULocation") is
begin
	if IsEmpty(Form2055.GSULocation) then
		Form2055.GSULocation = Form2055.SUBProjName;
	CopyField("Form2055.SUBProjName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBHOA");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUSalePrice,Form2055.GSUPriceGLA" is
begin
	if !Changed(Form2055.GSUSalePrice) then
		Form2055.GSUSalePrice = Form2055.SUBSalePrice;
	CopyField("Form2055.SUBSalePrice");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUDateOfSale" is
begin
	if !Changed("Form2055.GSUDateOfSale") then
		Form2055.GSUDateOfSale = Form2055.SUBDateOfSale;
	CopyField("Form2055.SUBDateOfSale");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2055.GSULeasehold") is
begin
	if !IsEmpty(Form2055.SUBPRA_FeeSimple) then
		Form2055.GSULeasehold = "Fee Simple";
	else if !IsEmpty(Form2055.SUBPRA_Leasehold) then
		Form2055.GSULeasehold = "Leasehold";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBCenTract");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2055.SFHPricePred);
	if p < atof(Form2055.SFHPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Form2055.SFHPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2055.SFHAgePred);
	if p < atof(Form2055.SFHAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Form2055.SFHAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2055.CONPricePred);
	if p < atof(Form2055.CONPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Form2055.CONPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2055.CONAgePred);
	if p < atof(Form2055.CONAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Form2055.CONAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin
	float r, fVal, bVal, lVal, rVal;
	string d, sr, acre;
	integer n, L, xpos, x2pos, x3pos;

	r = 0;
	d = Form2055.SITDimensions;
	acre = Form2055.SITSiteArea;
	L = StrLength(d);
	xpos = StrChr(d, "x");
	if xpos >= 0 then
	begin
		fVal = atof( d );
		lVal = atof( StrRight(d, L-xpos-1) );
		bVal = 0;
		rVal = 0;
		x2pos = StrChr( StrRight(d, L-xpos-1), "x" );
		if x2pos >= 0 then
		begin
			bVal = atof( StrRight(d, L-xpos-x2pos-1));
			x3pos = StrChr(StrRight(d, L-xpos-x2pos-1),"x");
			if x3pos >= 0 then
				rVal = atof( StrRight(d,L-xpos-x2pos-x3pos-1) );
			if fVal != bVal then
				Message(" Irregular lot.  Verify calculation...");
			r = ((fVal+bVal)/2) * ((lVal+rVal)/2);
		end;
		else
			r = fVal * lVal;
	end;

	sr = acre;
	n = StrChr(acre, "Acres");
	if n >= 0 or StrUpper(acre) == "A" then
		acre = "A";
	else
		acre = "S";

	if StrUpper(acre) == "A" then
		sr = ToString(r/43560.0, 3) + " Acres";
	else if IsEmpty(acre) or StrUpper(acre) == "S" then
		sr = ToString(r, 2) + " SqFt";

	Form2055.SITSiteArea = sr;

	if !Changed("Form2055.GSUSite") then
		Form2055.GSUSite = sr;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2055.SITSource_Other) then
		Form2055.GSDOther = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUAddress1");
end;


Formula:
routine main() returns nothing is
begin
	string a;
	if !Changed("Form2055.GSUAddress2") then
	begin
		a = Form2055.SUBCity;
		if !IsEmpty(Form2055.SUBState) then
			a = a + ", " + Form2055.SUBState;

		Form2055.GSUAddress2 = a;
	end;

	if !Changed("RECAprProperty_Addr2") then
		Form2055.RECAprProperty_Addr2 = Form2055.GSUAddress2 + " " + 
			Form2055.SUBZip;

	CopyField("Form2055.GSUAddress2");
end;


Formula:
routine main() returns nothing,
affects "Form2055.GSUPriceGLA" is
begin
	CopyField("Form2055.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	string f, gla;
	float price, s;

	if !Changed("Form2055.GSUPriceGLA") then
	begin
		if IsEmpty(Form2055.GSUGLASqFt) then
			Form2055.GSUGLASqFt = Form2055.RmsAGSqFtGLA;

		s = atof(Form2055.GSUGLASqFt);
		price = atof(Form2055.GSUSalePrice);

		if s != 0 then
			gla = ToString(price/s,5);
		else
			gla = "";

		Form2055.GSUPriceGLA = gla;
	end;

	CopyField("Form2055.GSUPriceGLA");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUDataSource_1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(Form2055.GC1GLASqFt);
	if s != 0 then
		Form2055.GC1PriceGLA = ToString(atof(Form2055.GC1SalePrice)/s,5);
	else
		Form2055.GC1PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(Form2055.GC2GLASqFt);
	if s != 0 then
		Form2055.GC2PriceGLA = ToString(atof(Form2055.GC2SalePrice)/s,5);
	else
		Form2055.GC2PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(Form2055.GC3GLASqFt);
	if s != 0 then
		Form2055.GC3PriceGLA = ToString(atof(Form2055.GC3SalePrice)/s,5);
	else
		Form2055.GC3PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUView");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUSite");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUDesign");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUCondition");
end;


Formula:
routine main() returns nothing is
begin
	string f;

	if !Changed("Form2055.GSUBsmRooms1") then
	begin
		f = Form2055.BSMAreaSF;
		if IsEmpty(f) then
			f = "None";

		Form2055.GSUBsmRooms1 = f;
	end;

	CopyField("Form2055.GSUBsmRooms1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.GSUBsmRooms2");
end;


Formula:
routine main() returns nothing is
begin
	integer Cnt;
	string fld;

	if !Changed("Form2055.GSUGarCpt") then
	begin
		if !IsEmpty(Form2055.CARNone_Box) Then
			fld = "None";
		else
		begin
			Cnt = atoi(Form2055.CARGarAttached) + atoi(Form2055.CARGarDetached) + 
					atoi(Form2055.CARGarBuiltIn) + atoi(Form2055.CARCarport) + 
					atoi(Form2055.CARDriveway);
			fld = String(Cnt);
			If (!IsEmpty(Form2055.CARGarAttached) or !IsEmpty(Form2055.CARGarDetached) then
				fld = fld + "-Garage";
			else if !IsEmpty(Form2055.CARGarBuiltIn) Then
				fld = fld + "-Garage";
			else if !IsEmpty(Form2055.CARCarport) Then
				fld = fld + "-Carport";
			else if !IsEmpty(Form2055.CARDriveway) Then
				f = f + "-Driveway");
		end;

		Form2055.GSUGarCpt = fld;
	end;
	CopyField("Form2055.GSUGarCpt");
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC1SiteAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUSite Form2055.GC1Site Form2055.GC2Site Form2055.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC1SiteAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1SiteAdj = ToString(Round(((n1 - atof(Form2055.GC1Site)) * n2)/100)*100);
		else
			Form2055.GC1SiteAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2SiteAdj = ToString(Round(((n1 - atof(Form2055.GC2Site)) * n2)/100)*100);
		else
			Form2055.GC2SiteAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3SiteAdj = ToString(Round(((n1 - atof(Form2055.GC3Site)) * n2)/100)*100);
		Else
			Form2055.GC3SiteAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC1AgeAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUAge Form2055.GC1Age Form2055.GC2Age Form2055.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC1AgeAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if (n1 < 1000) then
			n2 = -n2;

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1AgeAdj = ToString(Round(((n1 - atof(Form2055.GC1Age)) * n2)/100)*100);
		else
			Form2055.GC1AgeAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2AgeAdj = ToString(Round(((n1 - atof(Form2055.GC2Age)) * n2)/100)*100);
		else
			Form2055.GC2AgeAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3AgeAdj = ToString(Round(((n1 - atof(Form2055.GC3Age)) * n2)/100)*100);
		Else
			Form2055.GC3AgeAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC2GLASqFtAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUGLASqFt Form2055.GC1GLASqFt Form2055.GC2GLASqFt Form2055.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC1GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC1GLASqFt)) * n2)/100)*100);
		else
			Form2055.GC1GLASqFtAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC2GLASqFt)) * n2)/100)*100);
		else
			Form2055.GC2GLASqFtAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC3GLASqFt)) * n2)/100)*100);
		Else
			Form2055.GC3GLASqFtAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC1BsmRooms1Adj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUBsmRooms1 Form2055.GC1BsmRooms1 Form2055.GC2BsmRooms1 Form2055.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC1BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC1BsmRooms1)) * n2)/100)*100);
		else
			Form2055.GC1BsmRooms1Adj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC2BsmRooms1)) * n2)/100)*100);
		else
			Form2055.GC2BsmRooms1Adj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC3BsmRooms1)) * n2)/100)*100);
		Else
			Form2055.GC3BsmRooms1Adj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC1BsmRooms2Adj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUBsmRooms2 Form2055.GC1BsmRooms2 Form2055.GC2BsmRooms2 Form2055.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC1BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC1BsmRooms2)) * n2)/100)*100);
		else
			Form2055.GC1BsmRooms2Adj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC2BsmRooms2)) * n2)/100)*100);
		else
			Form2055.GC2BsmRooms2Adj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC3BsmRooms2)) * n2)/100)*100);
		Else
			Form2055.GC3BsmRooms2Adj = "";
	End;
end;


Formula:
routine main() returns nothing is
/* no depends Form2055.GC1Plus_Box Form2055.GC1Minus_Box */
begin
	float adj, price;
	adj =	atoi(Form2055.GC1SalesFinAdj_1)  + atof(Form2055.GC1SalesFinAdj_2) + 
			atof(Form2055.GC1DateOfSaleAdj) + atof(Form2055.GC1LocationAdj) +
			atof(Form2055.GC1SiteAdj)		+ atof(Form2055.GC1ViewAdj) +
			atof(Form2055.GC1DesignAdj)		+ atof(Form2055.GC1AgeAdj) +
			atof(Form2055.GC1ConditionAdj)	+ atof(Form2055.GC1RoomsAdj) +
			atof(Form2055.GC1RoomCountAdj)	+ atof(Form2055.GC1GLASqFtAdj) + 
			atof(Form2055.GC1BsmRooms1Adj)	+ atof(Form2055.GC1BsmRooms2Adj) + 
			atof(Form2055.GC1GarCptAdj)		+ atof(Form2055.GC1ExtraItemAdj1) +
			atof(Form2055.GC1ExtraItemAdj2);

	price = atof(Form2055.GC1SalePrice);
	Form2055.GC1NetAdjAmt = ToString(Round(adj));
	Form2055.GC1IndValue = ToString(Round(price+adj));

	if IsEmpty(ToString(adj,0)) then
	begin
		Form2055.GC1Plus_Box = "";
		Form2055.GC1Minus_Box = "";
	end;
	else if adj >= 0 Then
	begin
		Form2055.GC1Plus_Box = "X";
		Form2055.GC1Minus_Box = "";
	end;
	else
	begin
		Form2055.GC1Plus_Box = "";
		Form2055.GC1Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float tot, price;
	float gross;
	string grossStr, grossHdr;

	price = atof(Form2055.GC1SalePrice);
	if price != 0 then
	begin
		tot=Abs(atoi(Form2055.GC1SalesFinAdj_1)) + Abs(atof(Form2055.GC1SalesFinAdj_2)) + 
			Abs(atof(Form2055.GC1DateOfSaleAdj)) + Abs(atof(Form2055.GC1LocationAdj)) +
			Abs(atof(Form2055.GC1SiteAdj))		+ Abs(atof(Form2055.GC1ViewAdj)) +
			Abs(atof(Form2055.GC1DesignAdj))	+ Abs(atof(Form2055.GC1AgeAdj)) +
			Abs(atof(Form2055.GC1ConditionAdj))	+ Abs(atof(Form2055.GC1RoomsAdj)) +
			Abs(atof(Form2055.GC1RoomCountAdj))	+ Abs(atof(Form2055.GC1GLASqFtAdj)) + 
			Abs(atof(Form2055.GC1BsmRooms1Adj))	+ Abs(atof(Form2055.GC1BsmRooms2Adj)) + 
			Abs(atof(Form2055.GC1GarCptAdj))	+ Abs(atof(Form2055.GC1ExtraItemAdj1)) +
			Abs(atof(Form2055.GC1ExtraItemAdj2));

		gross = tot/price*100;
		grossStr = ToString(gross, 5) + "%";
		grossHdr = "G:";
	end;
	else
	begin
		grossStr = "";
		grossHdr = "";
	end;

	Form2055.GC1GrossVal = grossStr;
	Form2055.GC1GrossHdr = grossHdr;
end;


Formula:
routine main() returns nothing is
begin
	float adj, price, net;
	string netStr, netHdr;

	price = atof(Form2055.GC1SalePrice);
	if price != 0 then
	begin
		adj=atof(Form2055.GC1SalesFinAdj_1) + atof(Form2055.GC1SalesFinAdj_2) + 
			atof(Form2055.GC1DateOfSaleAdj) + atof(Form2055.GC1LocationAdj) +
			atof(Form2055.GC1SiteAdj)		+ atof(Form2055.GC1ViewAdj) +
			atof(Form2055.GC1DesignAdj)		+ atof(Form2055.GC1AgeAdj) +
			atof(Form2055.GC1ConditionAdj)	+ atof(Form2055.GC1RoomsAdj) +
			atof(Form2055.GC1RoomCountAdj)	+ atof(Form2055.GC1GLASqFtAdj) + 
			atof(Form2055.GC1BsmRooms1Adj)	+ atof(Form2055.GC1BsmRooms2Adj) + 
			atof(Form2055.GC1GarCptAdj)		+ atof(Form2055.GC1ExtraItemAdj1) +
			atof(Form2055.GC1ExtraItemAdj2);

		net = Abs(adj)/price*100;
		netStr = ToString(net, 5) + "%";
		netHdr = "N:";
	end;
	else
	begin
		netStr = "";
		netHdr = "";
	end;

	Form2055.GC1NetVal = netStr;
	Form2055.GC1NetHdr = netHdr;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC2SiteAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUSite Form2055.GC1Site Form2055.GC2Site Form2055.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC2SiteAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1SiteAdj = ToString(Round(((n1 - atof(Form2055.GC1Site)) * n2)/100)*100);
		else
			Form2055.GC1SiteAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2SiteAdj = ToString(Round(((n1 - atof(Form2055.GC2Site)) * n2)/100)*100);
		else
			Form2055.GC2SiteAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3SiteAdj = ToString(Round(((n1 - atof(Form2055.GC3Site)) * n2)/100)*100);
		Else
			Form2055.GC3SiteAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC2AgeAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUAge Form2055.GC1Age Form2055.GC2Age Form2055.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC2AgeAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if (n1 < 1000) then
			n2 = -n2;

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1AgeAdj = ToString(Round(((n1 - atof(Form2055.GC1Age)) * n2)/100)*100);
		else
			Form2055.GC1AgeAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2AgeAdj = ToString(Round(((n1 - atof(Form2055.GC2Age)) * n2)/100)*100);
		else
			Form2055.GC2AgeAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3AgeAdj = ToString(Round(((n1 - atof(Form2055.GC3Age)) * n2)/100)*100);
		Else
			Form2055.GC3AgeAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC2GLASqFtAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUGLASqFt Form2055.GC1GLASqFt Form2055.GC2GLASqFt Form2055.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC2GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC1GLASqFt)) * n2)/100)*100);
		else
			Form2055.GC1GLASqFtAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC2GLASqFt)) * n2)/100)*100);
		else
			Form2055.GC2GLASqFtAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC3GLASqFt)) * n2)/100)*100);
		Else
			Form2055.GC3GLASqFtAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC2BsmRooms1Adj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUBsmRooms1 Form2055.GC1BsmRooms1 Form2055.GC2BsmRooms1 Form2055.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC2BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC1BsmRooms1)) * n2)/100)*100);
		else
			Form2055.GC1BsmRooms1Adj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC2BsmRooms1)) * n2)/100)*100);
		else
			Form2055.GC2BsmRooms1Adj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC3BsmRooms1)) * n2)/100)*100);
		Else
			Form2055.GC3BsmRooms1Adj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC2BsmRooms2Adj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUBsmRooms2 Form2055.GC1BsmRooms2 Form2055.GC2BsmRooms2 Form2055.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC2BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC1BsmRooms2)) * n2)/100)*100);
		else
			Form2055.GC1BsmRooms2Adj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC2BsmRooms2)) * n2)/100)*100);
		else
			Form2055.GC2BsmRooms2Adj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC3BsmRooms2)) * n2)/100)*100);
		Else
			Form2055.GC3BsmRooms2Adj = "";
	End;
end;


Formula:
routine main() returns nothing is
/* no depends Form2055.GC1Plus_Box Form2055.GC1Minus_Box */
begin
	float adj, price;
	adj=atoi(Form2055.GC2SalesFinAdj_1)	+ atof(Form2055.GC2SalesFinAdj_2) + 
		atof(Form2055.GC2DateOfSaleAdj) + atof(Form2055.GC2LocationAdj) +
		atof(Form2055.GC2SiteAdj)		+ atof(Form2055.GC2ViewAdj)	+
		atof(Form2055.GC2DesignAdj)		+ atof(Form2055.GC2AgeAdj) +
		atof(Form2055.GC2ConditionAdj)	+ atof(Form2055.GC2RoomsAdj) +
		atof(Form2055.GC2RoomCountAdj)	+ atof(Form2055.GC2GLASqFtAdj) +
		atof(Form2055.GC2BsmRooms1Adj)	+ atof(Form2055.GC2BsmRooms2Adj) + 
		atof(Form2055.GC2GarCptAdj)		+ atof(Form2055.GC2ExtraItemAdj1) +
		atof(Form2055.GC2ExtraItemAdj2);

	price = atof(Form2055.GC2SalePrice);
	Form2055.GC2NetAdjAmt = ToString(Round(adj));
	Form2055.GC2IndValue = ToString(Round(price+adj));

	if IsEmpty(ToString(adj,0)) then
	begin
		Form2055.GC2Plus_Box = "";
		Form2055.GC2Minus_Box = "";
	end;
	else if adj >= 0 Then
	begin
		Form2055.GC2Plus_Box = "X";
		Form2055.GC2Minus_Box = "";
	end;
	else
	begin
		Form2055.GC2Plus_Box = "";
		Form2055.GC2Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float tot, price;
	float gross;
	string grossStr, grossHdr;

	price = atof(Form2055.GC2SalePrice);
	if price != 0 then
	begin
		tot=Abs(atoi(Form2055.GC2SalesFinAdj_1))+ Abs(atof(Form2055.GC2SalesFinAdj_2)) + 
			Abs(atof(Form2055.GC2DateOfSaleAdj))+ Abs(atof(Form2055.GC2LocationAdj)) +
			Abs(atof(Form2055.GC2SitedAdj))		+ Abs(atof(Form2055.GC2ViewAdj)) +
			Abs(atof(Form2055.GC2DesignAdj))	+ Abs(atof(Form2055.GC2AgeAdj)) +
			Abs(atof(Form2055.GC2ConditionAdj))	+ Abs(atof(Form2055.GC2RoomsAdj)) +
			Abs(atof(Form2055.GC2RoomCountAdj))	+ Abs(atof(Form2055.GC2GLASqFtAdj)) + 
			Abs(atof(Form2055.GC2BsmRooms1Adj))	+ Abs(atof(Form2055.GC2BsmRooms2Adj)) + 
			Abs(atof(Form2055.GC2GarCptAdj))	+ Abs(atof(Form2055.GC2ExtraItemAdj1)) +
			Abs(atof(Form2055.GC2ExtraItemAdj2));

		gross = tot/price*100;
		grossStr = ToString(gross, 5) + "%";
		grossHdr = "G:";
	end;
	else
	begin
		grossStr = "";
		grossHdr = "";
	end;

	Form2055.GC2GrossVal = grossStr;
	Form2055.GC2GrossHdr = grossHdr;
end;


Formula:
routine main() returns nothing is
begin
	float adj, price, net;
	string netStr, netHdr;

	price = atof(Form2055.GC2SalePrice);
	if price != 0 then
	begin
		adj=atof(Form2055.GC2SalesFinAdj_1) + atof(Form2055.GC2SalesFinAdj_2) + 
			atof(Form2055.GC2DateOfSaleAdj) + atof(Form2055.GC2LocationAdj) +
			atof(Form2055.GC2SiteAdj)		+ atof(Form2055.GC2ViewAdj) +
			atof(Form2055.GC2DesignAdj)		+ atof(Form2055.GC2AgeAdj) +
			atof(Form2055.GC2ConditionAdj)	+ atof(Form2055.GC2RoomsAdj) +
			atof(Form2055.GC2RoomCountAdj)	+ atof(Form2055.GC2GLASqFtAdj) + 
			atof(Form2055.GC2BsmRooms1Adj)	+ atof(Form2055.GC2BsmRooms2Adj) + 
			atof(Form2055.GC2GarCptAdj)		+ atof(Form2055.GC2ExtraItemAdj1) +
			atof(Form2055.GC2ExtraItemAdj2);

		net = Abs(adj)/price*100;
		netStr = ToString(net, 5) + "%";
		netHdr = "N:";
	end;
	else
	begin
		netStr = "";
		netHdr = "";
	end;

	Form2055.GC2NetVal = netStr;
	Form2055.GC2NetHdr = netHdr;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC3SiteAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUSite Form2055.GC1Site Form2055.GC2Site Form2055.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC3SiteAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1SiteAdj = ToString(Round(((n1 - atof(Form2055.GC1Site)) * n2)/100)*100);
		else
			Form2055.GC1SiteAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2SiteAdj = ToString(Round(((n1 - atof(Form2055.GC2Site)) * n2)/100)*100);
		else
			Form2055.GC2SiteAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3SiteAdj = ToString(Round(((n1 - atof(Form2055.GC3Site)) * n2)/100)*100);
		Else
			Form2055.GC3SiteAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC3AgeAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUAge Form2055.GC1Age Form2055.GC2Age Form2055.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC3AgeAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if (n1 < 1000) then
			n2 = -n2;

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1AgeAdj = ToString(Round(((n1 - atof(Form2055.GC1Age)) * n2)/100)*100);
		else
			Form2055.GC1AgeAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2AgeAdj = ToString(Round(((n1 - atof(Form2055.GC2Age)) * n2)/100)*100);
		else
			Form2055.GC2AgeAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3AgeAdj = ToString(Round(((n1 - atof(Form2055.GC3Age)) * n2)/100)*100);
		Else
			Form2055.GC3AgeAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC3GLASqFtAdj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUGLASqFt Form2055.GC1GLASqFt Form2055.GC2GLASqFt Form2055.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC3GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC1GLASqFt)) * n2)/100)*100);
		else
			Form2055.GC1GLASqFtAdj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC2GLASqFt)) * n2)/100)*100);
		else
			Form2055.GC2GLASqFtAdj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3GLASqFtAdj = ToString(Round(((n1 - atof(Form2055.GC3GLASqFt)) * n2)/100)*100);
		Else
			Form2055.GC3GLASqFtAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC3BsmRooms1Adj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUBsmRooms1 Form2055.GC1BsmRooms1 Form2055.GC2BsmRooms1 Form2055.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC3BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC1BsmRooms1)) * n2)/100)*100);
		else
			Form2055.GC1BsmRooms1Adj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC2BsmRooms1)) * n2)/100)*100);
		else
			Form2055.GC2BsmRooms1Adj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(Form2055.GC3BsmRooms1)) * n2)/100)*100);
		Else
			Form2055.GC3BsmRooms1Adj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("Form2055.GC3BsmRooms2Adj"),
affects "Form2055.GC1NetAdjAmt,Form2055.GC2NetAdjAmt,Form2055.GC3NetAdjAmt",
affects "Form2055.GC1GrossVal,Form2055.GC1NetVal",
affects "Form2055.GC2GrossVal,Form2055.GC2NetVal",
affects "Form2055.GC3GrossVal,Form2055.GC3NetVal" is
/* no depends Form2055.GSUBsmRooms2 Form2055.GC1BsmRooms2 Form2055.GC2BsmRooms2 Form2055.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = Form2055.GC3BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(Form2055.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(Form2055.GC1SalePrice) Then
			Form2055.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC1BsmRooms2)) * n2)/100)*100);
		else
			Form2055.GC1BsmRooms2Adj = "";

		if !IsEmpty(Form2055.GC2SalePrice) Then
			Form2055.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC2BsmRooms2)) * n2)/100)*100);
		else
			Form2055.GC2BsmRooms2Adj = "";

		if !IsEmpty(Form2055.GC3SalePrice) Then
			Form2055.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(Form2055.GC3BsmRooms2)) * n2)/100)*100);
		Else
			Form2055.GC3BsmRooms2Adj = "";
	End;
end;


Formula:
routine main() returns nothing is
/* no depends Form2055.GC1Plus_Box Form2055.GC1Minus_Box */
begin
	float adj, price;
	adj=atoi(Form2055.GC3SalesFinAdj_1)	+ atof(Form2055.GC3SalesFinAdj_2) + 
		atof(Form2055.GC3DateOfSaleAdj) + atof(Form2055.GC3LocationAdj) +
		atof(Form2055.GC3SiteAdj)		+ atof(Form2055.GC3ViewAdj)	+
		atof(Form2055.GC3DesignAdj)		+ atof(Form2055.GC3AgeAdj) +
		atof(Form2055.GC3ConditionAdj)	+ atof(Form2055.GC3RoomsAdj) +
		atof(Form2055.GC3RoomCountAdj)	+ atof(Form2055.GC3GLASqFtAdj) +
		atof(Form2055.GC3BsmRooms1Adj)	+ atof(Form2055.GC3BsmRooms2Adj) + 
		atof(Form2055.GC3GarCptAdj)		+ atof(Form2055.GC3ExtraItemAdj1) +
		atof(Form2055.GC3ExtraItemAdj2);

	price = atof(Form2055.GC3SalePrice);
	Form2055.GC3NetAdjAmt = ToString(Round(adj));
	Form2055.GC3IndValue = ToString(Round(price+adj));

	if IsEmpty(ToString(adj,0)) then
	begin
		Form2055.GC3Plus_Box = "";
		Form2055.GC3Minus_Box = "";
	end;
	else if adj >= 0 Then
	begin
		Form2055.GC3Plus_Box = "X";
		Form2055.GC3Minus_Box = "";
	end;
	else
	begin
		Form2055.GC3Plus_Box = "";
		Form2055.GC3Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float tot, price;
	float gross;
	string grossStr, grossHdr;

	price = atof(Form2055.GC3SalePrice);
	if price != 0 then
	begin
		tot=Abs(atoi(Form2055.GC3SalesFinAdj_1))+ Abs(atof(Form2055.GC3SalesFinAdj_2)) + 
			Abs(atof(Form2055.GC3DateOfSaleAdj))+ Abs(atof(Form2055.GC3LocationAdj)) +
			Abs(atof(Form2055.GC3SiteAdj))		+ Abs(atof(Form2055.GC3ViewAdj)) +
			Abs(atof(Form2055.GC3DesignAdj))	+ Abs(atof(Form2055.GC3AgeAdj)) +
			Abs(atof(Form2055.GC3ConditionAdj))	+ Abs(atof(Form2055.GC3RoomsAdj)) +
			Abs(atof(Form2055.GC3RoomCountAdj))	+ Abs(atof(Form2055.GC3GLASqFtAdj)) + 
			Abs(atof(Form2055.GC3BsmRooms1Adj))	+ Abs(atof(Form2055.GC3BsmRooms2Adj)) + 
			Abs(atof(Form2055.GC3GarCptAdj))	+ Abs(atof(Form2055.GC3ExtraItemAdj1)) +
			Abs(atof(Form2055.GC3ExtraItemAdj2));

		gross = tot/price*100;
		grossStr = ToString(gross, 5) + "%";
		grossHdr = "G:";
	end;
	else
	begin
		grossStr = "";
		grossHdr = "";
	end;

	Form2055.GC3GrossVal = grossStr;
	Form2055.GC3GrossHdr = grossHdr;
end;


Formula:
routine main() returns nothing is
begin
	float adj, price, net;
	string netStr, netHdr;

	price = atof(Form2055.GC3SalePrice);
	if price != 0 then
	begin
		adj=atof(Form2055.GC3SalesFinAdj_1) + atof(Form2055.GC3SalesFinAdj_2) + 
			atof(Form2055.GC3DateOfSaleAdj) + atof(Form2055.GC3LocationAdj) +
			atof(Form2055.GC3SiteAdj)		+ atof(Form2055.GC3ViewAdj) +
			atof(Form2055.GC3DesignAdj)		+ atof(Form2055.GC3AgeAdj) +
			atof(Form2055.GC3ConditionAdj)	+ atof(Form2055.GC3RoomsAdj) +
			atof(Form2055.GC3RoomCountAdj)	+ atof(Form2055.GC3GLASqFtAdj) + 
			atof(Form2055.GC3BsmRooms1Adj)	+ atof(Form2055.GC3BsmRooms2Adj) + 
			atof(Form2055.GC3GarCptAdj)		+ atof(Form2055.GC3ExtraItemAdj1) +
			atof(Form2055.GC3ExtraItemAdj2);

		net = Abs(adj)/price*100;
		netStr = ToString(net, 5) + "%";
		netHdr = "N:";
	end;
	else
	begin
		netStr = "";
		netHdr = "";
	end;

	Form2055.GC3NetVal = netStr;
	Form2055.GC3NetHdr = netHdr;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2055.RECAppr_AsIs) then
	begin
		Form2055.RECAppr_Plan = "";
		Form2055.RECAppr_Repairs = "";
		Form2055.RECRep_Alt_Repairs = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2055.RECAppr_AsIs) then
	begin
		Form2055.RECAppr_AsIs = "";
		Form2055.RECAppr_Repairs = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "Form2055.RECEstMktVal" is
begin
	if !Changed("Form2055.RECEstMktVal") then
		Form2055.RECEstMktVal = Form2055.RECEstMktValue;
	CopyField("Form2055.RECEstMktValue");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2055.RECInspectDate") is
begin
	Form2055.RECInspectDate = Form2055.RECInspectDate;
	CopyField("Form2055.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2055.RECProj_Conv_Yes) then
		Form2055.RECProj_Date_Conv = "";
	else
		Form2055.RECProj_Conv_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2055.RECProj_Conv_No) then
	begin
		Form2055.RECProj_Date_Conv = "";
		Form2055.RECProj_Conv_Yes = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2055.RECProj_MultiUnit_Yes) and IsEmpty(Form2055.RECProj_MultiUnit_No) then
		Form2055.RECProj_Multi_Sources = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2055.RECProj_Common_Yes) then
	begin
		Form2055.RECProj_Common_No = "";
		Form2055.RECProj_Describe_Comp_#1 = "";
		Form2055.RECProj_Describe_Comp_#2 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2055.RECProj_Common_No) then
	begin
		Form2055.RECProj_Describe_Comp_#1 = "";
		Form2055.RECProj_Describe_Comp_#2 = "";
	end;
	else
		Form2055.RECProj_Common_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2055.ROAProj_Conv_Yes) then
		Form2055.RECProj_Conv_Date = "";
	else
		Form2055.ROAProj_Conv_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2055.ROAProj_Conv_No) then
	begin
		Form2055.RECProj_Conv_Date = "";
		Form2055.ROAProj_Conv_Yes = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2055.PROType_Text_Fill) then
		Form2055.PROType_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2055.PROCommon_Comp_Yes) then
	begin
		Form2055.PROComElemStat_#1 = "";
		Form2055.PROComElemStat_#2 = "";
		Form2055.PROCommon_Comp_No = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2055.PROCommon_Comp_No) then
	begin
		Form2055.PROComElemStat_#1 = "";
		Form2055.PROComElemStat_#2 = "";
	end;
	else
		Form2055.PROCommon_Comp_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECApprName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECAprCompany_Addr");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECApprCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECApprLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECApprLicSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECApprExpDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECAprProperty_Addr1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECAprProperty_Addr2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.SUBLenCompany");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2055.RECAppr_AsIs) then
	begin
		Form2055.RECAppr_AsIs = "";
		Form2055.RECAppr_Plan = "";
		Form2055.RECRep_Alt_Repairs = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECAprCompany_Addr2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupLicSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupExpDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupInsp_DidNot");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2055.RECSupInsp_Ext");
end;


Formula:
routine main() returns nothing is
begin
	Form2055.P2FileNumber = Form2055.FileNumber;
	Form2055.P3FileNumber = Form2055.FileNumber;
	CopyField("Form2055.FileNumber");
end;


# Form2065

Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupInsp_Int");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupCompInsp_Ext");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupCompInsp_Int");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSuperviser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupCompany_Addr");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupCompany_Addr2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECEstMktVal");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECInspectDate2");
end;


Formula:
routine main() returns nothing is
begin
	Form2065.ClientCaseNumber2 = Form2065.ClientCaseNumber;
	Form2065.ClientCaseNumber3 = Form2065.ClientCaseNumber;
	CopyField("Form2065.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBPropAddress");
	if !Changed("Form2065.GSUAddress1") then
		Form2065.GSUAddress1 = Form2065.SUBPropAddress;
	if !Changed("Form2065.RECAprProperty_Addr1") then
		Form2065.RECAprProperty_Addr1 = Form2065.SUBPropAddress;
end;


Formula:
routine main() returns nothing,
affects "Form2065.GSUAddress2,Form2065.RECAprProperty_Addr2" is
/* no depends Form2065.SUBState Form2065.SUBZip */
begin
	CopyField("Form2065.SUBCity");
	begin
		Form2065.SubPropCityStateZip = Form2065.SUBCity + ", " +
			Form2065.SUBState + " " + Form2065.SUBZip;
	end;
	CopyField("Form2065.SubPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "Form2065.GSUAddress2,Form2065.RECAprProperty_Addr2" is
/* no depends Form2065.SUBCity Form2065.SUBZip */
begin
	CopyField("Form2065.SUBState");
	begin
		Form2065.SubPropCityStateZip = Form2065.SUBCity + ", " +
			Form2065.SUBState + " " + Form2065.SUBZip;
	end;
	CopyField("Form2065.SubPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "Form2065.GSUAddress2,Form2065.RECAprProperty_Addr2" is
/* no depends Form2065.SUBCity Form2065.SUBState */
begin
	CopyField("Form2065.SUBZip");
	begin
		Form2065.SubPropCityStateZip = Form2065.SUBCity + ", " +
			Form2065.SUBState + " " + Form2065.SUBZip;
	end;
	CopyField("Form2065.SubPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBAssessParcel");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBTaxYear");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBRETax");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBSpecAssess");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2065.SUBCurOwner") is 
begin 
	Form2065.SUBCurOwner = Form2065.SUBBorrower;
	CopyField("Form2065.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBCurOwner");
end;


Formula:
routine main() returns nothing,
affects "Form2065.GSULocation" is
begin
	if !Changed("Form2065.GSULocation") then
		Form2065.GSULocation = Form2065.SUBProjName;
	CopyField("Form2065.SUBProjName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBHOA");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed(Form2065.GSUSalePrice) then
		Form2065.GSUSalePrice = Form2065.SUBSalePrice;
	CopyField("Form2065.SUBSalePrice");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2065.GSUDateOfSale") is
begin
	Form2065.GSUDateOfSale = Form2065.SUBDateOfSale;
	CopyField("Form2065.SUBDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBLoanConc");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2065.GSULeasehold") is
begin
	if !IsEmpty(Form2065.SUBPRA_FeeSimple) then
		Form2065.GSULeasehold = "Fee Simple";
	else if !IsEmpty(Form2065.SUBPRA_Leasehold) then
		Form2065.GSULeasehold = "Leasehold";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBCenTract");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2065.SFHPricePred);
	if p < atof(Form2065.SFHPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Form2065.SFHPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2065.SFHAgePred);
	if p < atof(Form2065.SFHAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Form2065.SFHAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2065.CONPricePred);
	if p < atof(Form2065.CONPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Form2065.CONPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2065.CONAgePred);
	if p < atof(Form2065.CONAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Form2065.CONAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin
	float r, fVal, bVal, lVal, rVal;
	string d, sr, acre;
	integer n, L, xpos, x2pos, x3pos;

	r = 0;
	d = Form2065.SITDimensions;
	acre = Form2065.SITSiteArea;
	L = StrLength(d);
	xpos = StrChr(d, "x");
	if xpos >= 0 then
	begin
		fVal = atof( d );
		lVal = atof( StrRight(d, L-xpos-1) );
		bVal = 0;
		rVal = 0;
		x2pos = StrChr( StrRight(d, L-xpos-1), "x" );
		if x2pos >= 0 then
		begin
			bVal = atof( StrRight(d, L-xpos-x2pos-1));
			x3pos = StrChr(StrRight(d, L-xpos-x2pos-1),"x");
			if x3pos >= 0 then
				rVal = atof( StrRight(d,L-xpos-x2pos-x3pos-1) );
			if fVal != bVal then
				Message(" Irregular lot.  Verify calculation...");
			r = ((fVal+bVal)/2) * ((lVal+rVal)/2);
		end;
		else
			r = fVal * lVal;
	end;

	sr = acre;
	n = StrChr(acre, "Acres");
	if n >= 0 or StrUpper(acre) == "A" then
		acre = "A";
	else
		acre = "S";

	if StrUpper(acre) == "A" then
		sr = ToString(r/43560.0, 3) + " Acres";
	else if IsEmpty(acre) or StrUpper(acre) == "S" then
		sr = ToString(r, 2) + " SqFt";

	Form2065.SITSiteArea = sr;

	if !Changed("Form2065.GSUSite") then
		Form2065.GSUSite = sr;
end;


Formula:
routine main() returns nothing is
/* utilizes Form2065.GC1SalesFinAdj_1 Form2065.GC1SalesFinAdj_2 Form2065.GC1DateOfSaleAdj 
	Form2065.GC1LocationAdj Form2065.GC1SiteAdj Form2065.GC1ViewAdj Form2065.GC1DesignAdj 
	Form2065.GC1AgeAdj Form2065.GC1ConditionAdj Form2065.GC1RoomCountAdj Form2065.GC1GLASqFtAdj 
	Form2065.GC1BsmRooms1Adj Form2065.GC1BsmRooms2Adj Form2065.GC1GarCptAdj Form2065.GC1ExtraItemAdj1 
	Form2065.GC1ExtraItemAdj2 */
begin
	integer Cnt;
	Cnt = CheckItems1() + CheckItems2();

	if Cnt > 0 then
	begin
		Form2065.QSCSup1_Box = "X";
		Form2065.QSCEqual1_Box = "";
		Form2065.QSCInf1_Box = "";
	end;
	else if Cnt < 0 then
	begin
		Form2065.QSCSup1_Box = "";
		Form2065.QSCEqual1_Box = "";
		Form2065.QSCInf1_Box = "X";
	end;
	else
	begin
		Form2065.QSCSup1_Box = "";
		Form2065.QSCEqual1_Box = "X";
		Form2065.QSCInf1_Box = "";
	end;
end;

routine CheckItems1() returns integer is
begin
	integer Cnt;
	Cnt = 0;

	if Form2065.GC1SalesFinAdj_1 == "-" then
		Cnt--;
	if Form2065.GC1SalesFinAdj_1 == "-" then
		Cnt--;
	if Form2065.GC1SalesFinAdj_1 == "+" then
		Cnt++;
	if Form2065.GC1SalesFinAdj_2 == "-" then
		Cnt--;
	if Form2065.GC1SalesFinAdj_2 == "+" then
		Cnt++;
	if Form2065.GC1DateOfSaleAdj == "-" then
		Cnt--;
	if Form2065.GC1DateOfSaleAdj == "+" then
		Cnt++;
	if Form2065.GC1LocationAdj == "-" then
		Cnt--;
	if Form2065.GC1LocationAdj == "+" then
		Cnt++;
	if Form2065.GC1SiteAdj == "-" then
		Cnt--;
	if Form2065.GC1SiteAdj == "+" then
		Cnt++;
	if Form2065.GC1ViewAdj == "-" then
		Cnt--;
	if Form2065.GC1ViewAdj == "+" then
		Cnt++;
	if Form2065.GC1DesignAdj == "-" then
		Cnt--;
	if Form2065.GC1DesignAdj == "+" then
		Cnt++;
	if Form2065.GC1AgeAdj == "-" then
		Cnt--;
	if Form2065.GC1AgeAdj == "+" then
		Cnt++;

	return Cnt;
end;

routine CheckItems2() returns integer is
begin
	integer Cnt;
	Cnt = 0;

	if Form2065.GC1ConditionAdj == "-" then
		Cnt--;
	if Form2065.GC1ConditionAdj == "+" then
		Cnt++;
	if Form2065.GC1RoomCountAdj == "-" then
		Cnt--;
	if Form2065.GC1RoomCountAdj == "+" then
		Cnt++;
	if Form2065.GC1GLASqFtAdj == "-" then
		Cnt--;
	if Form2065.GC1GLASqFtAdj == "+" then
		Cnt++;
	if Form2065.GC1BsmRooms1Adj == "-" then
		Cnt--;
	if Form2065.GC1BsmRooms1Adj == "+" then
		Cnt++;
	if Form2065.GC1BsmRooms2Adj == "-" then
		Cnt--;
	if Form2065.GC1BsmRooms2Adj == "+" then
		Cnt++;
	if Form2065.GC1GarCptAdj == "-" then
		Cnt--;
	if Form2065.GC1GarCptAdj == "+" then
		Cnt++;
	if Form2065.GC1ExtraItemAdj1 == "-" then
		Cnt--;
	if Form2065.GC1ExtraItemAdj1 == "+" then
		Cnt++;
	if Form2065.GC1ExtraItemAdj2 == "-" then
		Cnt--;
	if Form2065.GC1ExtraItemAdj2 == "+" then
		Cnt++;

	return Cnt;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2065.SITSource_Other) then
		Form2065.GSDOther = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.EXTMfgHouseYes_Box) then
		Form2065.EXTMfgHouseNo_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.SITConform_Yes) then
		Form2065.SITConform_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.SITConform_No) then
		Form2065.SITConform_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.SITDefCond_Yes) then
		Form2065.SITDefCond_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.SITDefCond_No) then
		Form2065.SITDefCond_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.SITCondHaz_Yes) then
		Form2065.SITCondHaz_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.SITCondHaz_No) then
		Form2065.SITCondHaz_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUAddress1")
end;


Formula:
routine main() returns nothing is
begin
	string a;

	if !Changed("Form2065.GSUAddress2") then
	begin
		a = Form2065.SUBCity;

		if !IsEmpty(Form2065.SUBState) then
			a = a + ", " + Form2065.SUBState;

		Form2065.GSUAddress2 = a;
	end;

	if !Changed("RECAprProperty_Addr2") then
		Form2065.RECAprProperty_Addr2 = Form2065.GSUAddress2 + " " + Form2065.SUBZip;

	CopyField("Form2065.GSUAddress2");
end;


Formula:
routine main() returns nothing,
affects "Form2065.GSUPriceGLA" is
begin
	CopyField("Form2065.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	string f, gla;
	float s;

	if !Changed("Form2065.GSUPriceGLA") then
	begin
		if IsEmpty(Form2065.GSUGLASqFt) then
			Form2065.GSUGLASqFt = Form2065.RmsAGSqFtGLA;

		s = atof(Form2065.GSUGLASqFt);
		if s != 0 then
			gla = ToString(atof(Form2065.GSUSalePrice)/s, 5);
		else
			gla = "";

		Form2065.GSUPriceGLA = gla;
	end;

	CopyField("Form2065.GSUPriceGLA");
end;


Formula:
routine main() returns nothing,
affects "Form2065.GSUPriceGLA" is
begin
	if IsEmpty("Form2065.GSUGLASqFt") then
		Form2065.GSUGLASqFt = Form2065.RMSAGSqFtGLA;

	CopyField("Form2065.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(Form2065.GC1GLASqFt);
	if s != 0 then
		Form2065.GC1PriceGLA = ToString(atof(Form2065.GC1SalePrice)/s,5);
	else
		Form2065.GC1PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(Form2065.GC2GLASqFt);
	if s != 0 then
		Form2065.GC2PriceGLA = ToString(atof(Form2065.GC2SalePrice)/s,5);
	else
		Form2065.GC2PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(Form2065.GC3GLASqFt);
	if s != 0 then
		Form2065.GC3PriceGLA = ToString(atof(Form2065.GC3SalePrice)/s,5);
	else
		Form2065.GC3PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUView");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUSite");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUDesign");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUCondition");
end;


Formula:
routine main() returns nothing is
begin
	string f;

	if !Changed("Form2065.GSUBsmRooms1") then
	begin
		f = Form2065.BSMAreaSF;
		if IsEmpty(f) then
			f = "None";

		Form2065.GSUBsmRooms1 = f;
	end;

	CopyField("Form2065.GSUBsmRooms1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUBsmRooms2");
end;


Formula:
routine main() returns nothing is
begin
	integer Cnt;
	string fld;

	if !Changed("Form2065.GSUGarCpt") then
	begin
		if !IsEmpty(Form2065.CARNone_Box) Then
			fld = "None";
		else
		begin
			Cnt = atoi(Form2065.CARGarAttached) + atoi(Form2065.CARGarDetached) + 
					atoi(Form2065.CARGarBuiltIn) + atoi(Form2065.CARCarport) + 
					atoi(Form2065.CARDriveway);
			fld = ToString(Cnt);
			if !IsEmpty(Form2065.CARGarAttached) or !IsEmpty(Form2065.CARGarDetached) then
				fld = fld + "-Garage";
			else if !IsEmpty(Form2065.CARGarBuiltIn) then
				fld = fld + "-Garage";
			else if !IsEmpty(Form2065.CARCarport) then
				fld = fld + "-Carport";
			else if !IsEmpty(Form2065.CARDriveway) then
				fld = fld + "-Driveway";
		end;

		Form2065.GSUGarCpt = fld;
	end;
	CopyField("Form2065.GSUGarCpt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUBedRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.GSUBaths");
end;


Formula:
routine main() returns nothing is
/* utilizes Form2065.GC2SalesFinAdj_1 Form2065.GC2SalesFinAdj_2 Form2065.GC2DateOfSaleAdj 
	Form2065.GC2LocationAdj Form2065.GC2SiteAdj Form2065.GC2ViewAdj Form2065.GC2DesignAdj 
	Form2065.GC2AgeAdj Form2065.GC2ConditionAdj Form2065.GC2RoomCountAdj Form2065.GC2GLASqFtAdj 
	Form2065.GC2BsmRooms1Adj Form2065.GC2BsmRooms2Adj Form2065.GC2GarCptAdj Form2065.GC2ExtraItemAdj1 
	Form2065.GC2ExtraItemAdj2 */
begin
	integer Cnt;
	Cnt = 0;
	if Form2065.GC2SalesFinAdj_1 == "-" then
		Cnt--;
	else if Form2065.GC2SalesFinAdj_1 == "+" then
		Cnt++;
	if Form2065.GC2SalesFinAdj_2 == "-" then
		Cnt--;
	else if Form2065.GC2SalesFinAdj_2 == "+" then
		Cnt++;
	if Form2065.GC2DateOfSaleAdj == "-" then
		Cnt--;
	else if Form2065.GC2DateOfSaleAdj == "+" then
		Cnt++;
	if Form2065.GC2LocationAdj == "-" then
		Cnt--;
	else if Form2065.GC2LocationAdj == "+" then
		Cnt++;
	if Form2065.GC2SiteAdj == "-" then
		Cnt--;
	else if Form2065.GC2SiteAdj == "+" then
		Cnt++;
	if Form2065.GC2ViewAdj == "-" then
		Cnt--;
	else if Form2065.GC2ViewAdj == "+" then
		Cnt++;
	if Form2065.GC2DesignAdj == "-" then
		Cnt--;
	else if Form2065.GC2DesignAdj == "+" then
		Cnt++;
	if Form2065.GC2AgeAdj == "-" then
		Cnt--;
	else if Form2065.GC2AgeAdj == "+" then
		Cnt++;
	if Form2065.GC2ConditionAdj == "-" then
		Cnt--;
	else if Form2065.GC2ConditionAdj == "+" then
		Cnt++;
	if Form2065.GC2RoomCountAdj == "-" then
		Cnt--;
	else if Form2065.GC2RoomCountAdj == "+" then
		Cnt++;
	if Form2065.GC2GLASqFtAdj == "-" then
		Cnt--;
	else if Form2065.GC2GLASqFtAdj == "+" then
		Cnt++;
	if Form2065.GC2BsmRooms1Adj == "-" then
		Cnt--;
	else if Form2065.GC2BsmRooms1Adj == "+" then
		Cnt++;
	if Form2065.GC2BsmRooms2Adj == "-" then
		Cnt--;
	else if Form2065.GC2BsmRooms2Adj == "+" then
		Cnt++;
	if Form2065.GC2GarCptAdj == "-" then
		Cnt--;
	else if Form2065.GC2GarCptAdj == "+" then
		Cnt++;
	if Form2065.GC2ExtraItemAdj1 == "-" then
		Cnt--;
	else if Form2065.GC2ExtraItemAdj1 == "+" then
		Cnt++;
	if Form2065.GC2ExtraItemAdj2 == "-" then
		Cnt--;
	else if Form2065.GC2ExtraItemAdj2 == "+" then
		Cnt++;

	if Cnt > 0 then
	begin
		Form2065.QSCSup2_Box = "X";
		Form2065.QSCEqual2_Box = "";
		Form2065.QSCInf2_Box = "";
	end;
	else if Cnt < 0 then
	begin
		Form2065.QSCSup2_Box = "";
		Form2065.QSCEqual2_Box = "";
		Form2065.QSCInf2_Box = "X";
	end;
	else
	begin
		Form2065.QSCSup2_Box = "";
		Form2065.QSCEqual2_Box = "X";
		Form2065.QSCInf2_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
/* utilizes Form2065.GC3SalesFinAdj_1 Form2065.GC3SalesFinAdj_2 Form2065.GC3DateOfSaleAdj 
	Form2065.GC3LocationAdj Form2065.GC3SiteAdj Form2065.GC3ViewAdj Form2065.GC3DesignAdj 
	Form2065.GC3AgeAdj Form2065.GC3ConditionAdj Form2065.GC3RoomCountAdj Form2065.GC3GLASqFtAdj 
	Form2065.GC3BsmRooms1Adj Form2065.GC3BsmRooms2Adj Form2065.GC3GarCptAdj Form2065.GC3ExtraItemAdj1 
	Form2065.GC3ExtraItemAdj2 */
begin
	integer Cnt;
	Cnt = 0;
	if Form2065.GC3SalesFinAdj_1 == "-" then
		Cnt--;
	else if Form2065.GC3SalesFinAdj_1 == "+" then
		Cnt++;
	if Form2065.GC3SalesFinAdj_2 == "-" then
		Cnt--;
	else if Form2065.GC3SalesFinAdj_2 == "+" then
		Cnt++;
	if Form2065.GC3DateOfSaleAdj == "-" then
		Cnt--;
	else if Form2065.GC3DateOfSaleAdj == "+" then
		Cnt++;
	if Form2065.GC3LocationAdj == "-" then
		Cnt--;
	else if Form2065.GC3LocationAdj == "+" then
		Cnt++;
	if Form2065.GC3SiteAdj == "-" then
		Cnt--;
	else if Form2065.GC3SiteAdj == "+" then
		Cnt++;
	if Form2065.GC3ViewAdj == "-" then
		Cnt--;
	else if Form2065.GC3ViewAdj == "+" then
		Cnt++;
	if Form2065.GC3DesignAdj == "-" then
		Cnt--;
	else if Form2065.GC3DesignAdj == "+" then
		Cnt++;
	if Form2065.GC3AgeAdj == "-" then
		Cnt--;
	else if Form2065.GC3AgeAdj == "+" then
		Cnt++;
	if Form2065.GC3ConditionAdj == "-" then
		Cnt--;
	else if Form2065.GC3ConditionAdj == "+" then
		Cnt++;
	if Form2065.GC3RoomCountAdj == "-" then
		Cnt--;
	else if Form2065.GC3RoomCountAdj == "+" then
		Cnt++;
	if Form2065.GC3GLASqFtAdj == "-" then
		Cnt--;
	else if Form2065.GC3GLASqFtAdj == "+" then
		Cnt++;
	if Form2065.GC3BsmRooms1Adj == "-" then
		Cnt--;
	else if Form2065.GC3BsmRooms1Adj == "+" then
		Cnt++;
	if Form2065.GC3BsmRooms2Adj == "-" then
		Cnt--;
	else if Form2065.GC3BsmRooms2Adj == "+" then
		Cnt++;
	if Form2065.GC3GarCptAdj == "-" then
		Cnt--;
	else if Form2065.GC3GarCptAdj == "+" then
		Cnt++;
	if Form2065.GC3ExtraItemAdj1 == "-" then
		Cnt--;
	else if Form2065.GC3ExtraItemAdj1 == "+" then
		Cnt++;
	if Form2065.GC3ExtraItemAdj2 == "-" then
		Cnt--;
	else if Form2065.GC3ExtraItemAdj2 == "+" then
		Cnt++;

	if Cnt > 0 then
	begin
		Form2065.QSCSup3_Box = "X";
		Form2065.QSCEqual3_Box = "";
		Form2065.QSCInf3_Box = "";
	end;
	else if Cnt < 0 then
	begin
		Form2065.QSCSup3_Box = "";
		Form2065.QSCEqual3_Box = "";
		Form2065.QSCInf3_Box = "X";
	end;
	else
	begin
		Form2065.QSCSup3_Box = "";
		Form2065.QSCEqual3_Box = "X";
		Form2065.QSCInf3_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.PUD_HOA_Yes) then
		Form2065.PUD_HOA_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.PUD_HOA_No) then
		Form2065.PUD_HOA_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	Form2065.P2FileNumber = Form2065.FileNumber;
	Form2065.P3FileNumber = Form2065.FileNumber;
	CopyField("Form2065.FileNumber");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.RECAppr_AsIs) then
	begin
		Form2065.RECAppr_Plan = "";
		Form2065.RECAppr_Repairs = "";
		Form2065.RECRep_Alt_Repairs = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.RECAppr_AsIs) then
	begin
		Form2065.RECAppr_AsIs = "";
		Form2065.RECAppr_Repairs = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Form2065.RECEstMktVal") then
		Form2065.RECEstMktVal = Form2065.RECEstMktValue;
	CopyField("Form2065.RECEstMktValue");
end;


Formula:
routine main() returns nothing,
affects "Form2065.RECInspectDate2" is
begin
	Form2065.RECInspectDate2 = Form2065.RECInspectDate;
	CopyField("Form2065.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2065.RECProj_Conv_Yes) then
		Form2065.RECProj_Date_Conv = "";
	else
		Form2065.RECProj_Conv_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.RECProj_Conv_No) then
	begin
		Form2065.RECProj_Date_Conv = "";
		Form2065.RECProj_Conv_Yes = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2065.RECProj_MultiUnit_Yes) and IsEmpty(Form2065.RECProj_MultiUnit_No) then
		Form2065.RECProj_Multi_Sources = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.RECProj_Common_Yes) then
	begin
		Form2065.RECProj_Common_No = "";
		Form2065.RECProj_Describe_Comp_#1 = "";
		Form2065.RECProj_Describe_Comp_#2 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2065.RECProj_Common_No) then
	begin
		Form2065.RECProj_Describe_Comp_#1 = "";
		Form2065.RECProj_Describe_Comp_#2 = "";
	end;
	else
		Form2065.RECProj_Common_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.HOACommon_Elem_Yes) then
		Form2065.HOACommon_Elem_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.HOACommon_Elem_No) then
		Form2065.HOACommon_Elem_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.HOAProj_Info_Yes) then
		Form2065.HOAProj_Info_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.HOAProj_Info_No) then
		Form2065.HOAProj_Info_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2065.ROAProj_Conv_Yes) then
		Form2065.RECProj_Conv_Date = "";
	else
		Form2065.ROAProj_Conv_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.ROAProj_Conv_No) then
	begin
		Form2065.RECProj_Conv_Date = "";
		Form2065.ROAProj_Conv_Yes = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2065.PROType_Text_Fill) then
		Form2065.PROType_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.PROCommon_Comp_Yes) then
	begin
		Form2065.PROComElemStat_#1 = "";
		Form2065.PROComElemStat_#2 = "";
		Form2065.PROCommon_Comp_No = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2065.PROCommon_Comp_No) then
	begin
		Form2065.PROComElemStat_#1 = "";
		Form2065.PROComElemStat_#2 = "";
	end;
	else
		Form2065.PROCommon_Comp_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.PROCommon_Leased_Yes) then
		Form2065.PROCommon_Leased_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.PROCommon_Leased_No) then
		Form2065.PROCommon_Leased_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECApprName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECAprCompany_Addr");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECApprCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECApprLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECApprLicSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECApprExpDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBLenContact");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECAprProperty_Addr1");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Form2065.RECAprProperty_Addr2") then
		Form2065.RECAprProperty_Addr2 = Form2065.SUBPropCityStateZip;
	CopyField("Form2065.RECAprProperty_Addr2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2065.EXTMfgHouseNo_Box) then
		Form2065.EXTMfgHouseYes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECAprCompany_Addr2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupLicSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupExpDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupInsp_DidNot");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2065.RECSupInsp_Ext");
end;


# Form2075

Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends Form2075.SUBState Form2075.SUBZip */
begin
	CopyField("Form2075.SUBCity");
	begin
		Form2075.SubPropCityStateZip = Form2075.SUBCity + ", " +
			Form2075.SUBState + " " + Form2075.SUBZip;
	end;
	CopyField("Form2075.SubPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Form2075.SUBCity Form2075.SUBZip */
begin
	CopyField("Form2075.SUBState");
	begin
		Form2075.SubPropCityStateZip = Form2075.SUBCity + ", " +
			Form2075.SUBState + " " + Form2075.SUBZip;
	end;
	CopyField("Form2075.SubPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Form2075.SUBCity Form2075.SUBState */
begin
	CopyField("Form2075.SUBZip");
	begin
		Form2075.SubPropCityStateZip = Form2075.SUBCity + ", " +
			Form2075.SUBState + " " + Form2075.SUBZip;
	end;
	CopyField("Form2075.SubPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBAssessParcel");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBTaxYear");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBRETax");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBSpecAssess");
end;


Formula:
routine main() returns nothing,
requires !Changed("Form2075.SUBCurOwner") is 
begin 
	Form2075.SUBCurOwner = Form2075.SUBBorrower;
	CopyField("Form2075.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBCurOwner");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBProjName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBHOA");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBPRA_FeeSimple");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBPRA_Leasehold");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.SUBCenTract");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2075.SFHPricePred);
	if p < atof(Form2075.SFHPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Form2075.SFHPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2075.SFHAgePred);
	if p < atof(Form2075.SFHAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Form2075.SFHAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2075.CONPricePred);
	if p < atof(Form2075.CONPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Form2075.CONPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing is 
begin
	float p;
	p = atof(Form2075.CONAgePred);
	if p < atof(Form2075.CONAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Form2075.CONAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form2075.SITSource_Other) then
		Form2075.GSDOther = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.EXTMfgHouseYes_Box) then
		Form2075.EXTMfgHouseNo_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.SITConform_Yes) then
		Form2075.SITConform_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.SITConform_No) then
		Form2075.SITConform_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.SITDefCond_Yes) then
		Form2075.SITDefCond_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.SITDefCond_No) then
		Form2075.SITDefCond_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.SITCondHaz_Yes) then
		Form2075.SITCondHaz_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.SITCondHaz_No) then
		Form2075.SITCondHaz_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form2075.FileNumber");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.RECInspectDidNot_Box) then
		Form2075.RECInspectDid_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.RECInspectDid_Box) then
		Form2075.RECInspectDidNot_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form2075.EXTMfgHouseNo_Box) then
		Form2075.EXTMfgHouseYes_Box = "";
end;


# Form510

Formula:
routine main() returns nothing is
begin
	CopyField("Form510.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends Form510.SUBState Form510.SUBZip */
begin
	CopyField("Form510.SUBCity");
	begin
		Form510.SUBPropCityStateZip = Form510.SUBCity + ", " + 
			Form510.SUBState + " " + Form510.SUBZip;
	end;
	CopyField("Form510.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form510.SUBCounty");
end;


Formula:
routine main() returns nothing is
/* no depends Form510.SUBCity Form510.SUBZip */
begin
	CopyField("Form510.SUBState");
	begin
		Form510.SUBPropCityStateZip = Form510.SUBCity + ", " + 
			Form510.SUBState + " " + Form510.SUBZip;
	end;
	CopyField("Form510.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Form510.SUBCity Form510.SUBState */
begin
	CopyField("Form510.SUBZip");
	begin
		Form510.SUBPropCityStateZip = Form510.SUBCity + ", " + 
			Form510.SUBState + " " + Form510.SUBZip;
	end;
	CopyField("Form510.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form510.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form510.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Form510.RECApprName") then
		Form510.RECApprName = Form510.SUBAppraiser;
	if !Changed("Form510.CLCApprName") then
		Form510.CLCApprName = Form510.SUBAppraiser;
	CopyField("Form510.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Form510.RECApprSignDate") then
		Form510.RECApprSignDate = Form510.RECInspectDate;
	if !Changed("Form510.CLCAcceptDate") then
		Form510.CLCAcceptDate = Form510.RECInspectDate;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form510.SUBPropCurrIOther_Box) then
		Form510.SUBPropCurrIOther_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form510.SUBPropPastIOther_Box) then
		Form510.SUBPropPastIOther_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.GFOPhySign_Yes_Box) then
		Form510.GFOPhySign_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.GFOPhySign_No_Box) then
		Form510.GFOPhySign_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form510.GFO_Other_Box) then
	begin
		Form510.GFO_OtherText_Box_#1 = "";
		Form510.GFO_OtherText_Box_#2 = "";
		Form510.GFO_OtherText_Box_#3 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.GFO_Waste_Yes_Box) then
		Form510.GFO_Waste_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.GFO_Waste_No_Box) then
		Form510.GFO_Waste_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_USI_Yes_Box) then
	begin
		Form510.REA_USI_No_Box = "";
		Form510.REA_USI_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_USI_No_Box) then
	begin
		Form510.REA_USI_Yes_Box = "";
		Form510.REA_USI_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_USI_Unk_Box) then
	begin
		Form510.REA_USI_Yes_Box = "";
		Form510.REA_USI_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_USI_Soil_Yes_Box) then
	begin
		Form510.REA_USI_Soil_No_Box = "";
		Form510.REA_USI_Soil_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_USI_Soil_No_Box) then
	begin
		Form510.REA_USI_Soil_Yes_Box = "";
		Form510.REA_USI_Soil_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_USI_Soil_Unk_Box) then
	begin
		Form510.REA_USI_Soil_Yes_Box = "";
		Form510.REA_USI_Soil_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_ASI_Yes_Box) then
	begin
		Form510.REA_ASI_No_Box = "";
		Form510.REA_ASI_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_ASI_No_Box) then
	begin
		Form510.REA_ASI_Yes_Box = "";
		Form510.REA_ASI_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_ASI_Unk_Box) then
	begin
		Form510.REA_ASI_Yes_Box = "";
		Form510.REA_ASI_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_Yes_Box) then
	begin
		Form510.REA_Water_No_Box = "";
		Form510.REA_Water_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_No_Box) then
	begin
		Form510.REA_Water_Yes_Box = "";
		Form510.REA_Water_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_Unk_Box) then
	begin
		Form510.REA_Water_Yes_Box = "";
		Form510.REA_Water_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_Prim_Yes_Box) then
	begin
		Form510.REA_Water_Prim_No_Box = "";
		Form510.REA_Water_Prim_Unk_Box = "";
		Form510.REAIfNOExplain = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_Prim_No_Box) then
	begin
		Form510.REA_Water_Prim_Yes_Box = "";
		Form510.REA_Water_Prim_Unk_Box = "";
	end;
	else
		Form510.REAIfNOExplain = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_Prim_Unk_Box) then
	begin
		Form510.REA_Water_Prim_Yes_Box = "";
		Form510.REA_Water_Prim_No_Box = "";
		Form510.REAIfNOExplain = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_PPI_Yes_Box) then
	begin
		Form510.REA_Water_PPI_No_Box = "";
		Form510.REA_Water_PPI_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_PPI_No_Box) then
	begin
		Form510.REA_Water_PPI_Yes_Box = "";
		Form510.REA_Water_PPI_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.REA_Water_PPI_Unk_Box) then
	begin
		Form510.REA_Water_PPI_Yes_Box = "";
		Form510.REA_Water_PPI_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Asbes_Yes_Box) then
	begin
		Form510.CGM_Asbes_No_Box = "";
		Form510.CGM_Asbes_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Asbes_No_Box) then
	begin
		Form510.CGM_Asbes_Yes_Box = "";
		Form510.CGM_Asbes_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Asbes_Unk_Box) then
	begin
		Form510.CGM_Asbes_Yes_Box = "";
		Form510.CGM_Asbes_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Asbesobs_Yes_Box) then
	begin
		Form510.CGM_Asbesobs_No_Box = "";
		Form510.CGM_Asbesobs_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Asbesobs_No_Box) then
	begin
		Form510.CGM_Asbesobs_Yes_Box = "";
		Form510.CGM_Asbesobs_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Asbesobs_Unk_Box) then
	begin
		Form510.CGM_Asbesobs_Yes_Box = "";
		Form510.CGM_Asbesobs_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Urea_Yes_Box) then
	begin
		Form510.CGM_Urea_No_Box = "";
		Form510.CGM_Urea_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Urea_No_Box) then
	begin
		Form510.CGM_Urea_Yes_Box = "";
		Form510.CGM_Urea_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Urea_Unk_Box) then
	begin
		Form510.CGM_Urea_Yes_Box = "";
		Form510.CGM_Urea_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Lead_Yes_Box) then
	begin
		Form510.CGM_Lead_No_Box = "";
		Form510.CGM_Lead_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Lead_No_Box) then
	begin
		Form510.CGM_Lead_Yes_Box = "";
		Form510.CGM_Lead_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Lead_Unk_Box) then
	begin
		Form510.CGM_Lead_Yes_Box = "";
		Form510.CGM_Lead_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_LeadPot_Yes_Box) then
	begin
		Form510.CGM_LeadPot_No_Box = "";
		Form510.CGM_LeadPot_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_LeadPot_No_Box) then
	begin
		Form510.CGM_LeadPot_Yes_Box = "";
		Form510.CGM_LeadPot_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_LeadPot_Unk_Box) then
	begin
		Form510.CGM_LeadPot_Yes_Box = "";
		Form510.CGM_LeadPot_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Pest_Yes_Box) then
	begin
		Form510.CGM_Pest_No_Box = "";
		Form510.CGM_Pest_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Pest_No_Box) then
	begin
		Form510.CGM_Pest_Yes_Box = "";
		Form510.CGM_Pest_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Pest_Unk_Box) then
	begin
		Form510.CGM_Pest_Yes_Box = "";
		Form510.CGM_Pest_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Pestoder_Yes_Box) then
	begin
		Form510.CGM_Pestoder_No_Box = "";
		Form510.CGM_Pestoder_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Pestoder_No_Box) then
	begin
		Form510.CGM_Pestoder_Yes_Box = "";
		Form510.CGM_Pestoder_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Pestoder_Unk_Box) then
	begin
		Form510.CGM_Pestoder_Yes_Box = "";
		Form510.CGM_Pestoder_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_PCB_Yes_Box) then
	begin
		Form510.CGM_PCB_No_Box = "";
		Form510.CGM_PCB_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_PCB_No_Box) then
	begin
		Form510.CGM_PCB_Yes_Box = "";
		Form510.CGM_PCB_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_PCB_Unk_Box) then
	begin
		Form510.CGM_PCB_Yes_Box = "";
		Form510.CGM_PCB_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_PCB_Soil_Yes_Box) then
	begin
		Form510.CGM_PCB_Soil_No_Box = "";
		Form510.CGM_PCB_Soil_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_PCB_Soil_No_Box) then
	begin
		Form510.CGM_PCB_Soil_Yes_Box = "";
		Form510.CGM_PCB_Soil_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_PCB_Soil_Unk_Box) then
	begin
		Form510.CGM_PCB_Soil_Yes_Box = "";
		Form510.CGM_PCB_Soil_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Radon_Yes_Box) then
	begin
		Form510.CGM_Radon_No_Box = "";
		Form510.CGM_Radon_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Radon_No_Box) then
	begin
		Form510.CGM_Radon_Yes_Box = "";
		Form510.CGM_Radon_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_Radon_Unk_Box) then
	begin
		Form510.CGM_Radon_Yes_Box = "";
		Form510.CGM_Radon_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_RadonScr_Yes_Box) then
	begin
		Form510.CGM_RadonScr_No_Box = "";
		Form510.CGM_RadonScr_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_RadonScr_No_Box) then
	begin
		Form510.CGM_RadonScr_Yes_Box = "";
		Form510.CGM_RadonScr_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_RadonScr_Unk_Box) then
	begin
		Form510.CGM_RadonScr_Yes_Box = "";
		Form510.CGM_RadonScr_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_OtherCond_Yes_Box) then
		Form510.CGM_OtherCond_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_OtherCond_No_Box) then
		Form510.CGM_OtherCond_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_OtherAct_Yes_Box) then
		Form510.CGM_OtherAct_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.CGM_OtherAct_No_Box) then
		Form510.CGM_OtherAct_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_USI_Yes_Box) then
		Form510.SCI_USI_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_USI_No_Box) then
		Form510.SCI_USI_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_ASI_Yes_Box) then
		Form510.SCI_ASI_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_ASI_No_Box) then
		Form510.SCI_ASI_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Waste_Yes_Box) then
		Form510.SCI_Waste_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Waste_No_Box) then
		Form510.SCI_Waste_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Drink_Yes_Box) then
		Form510.SCI_Drink_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Drink_No_Box) then
		Form510.SCI_Drink_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Asbes_Yes_Box) then
		Form510.SCI_Asbes_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Asbes_No_Box) then
		Form510.SCI_Asbes_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Urea_Yes_Box) then
		Form510.SCI_Urea_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Urea_No_Box) then
		Form510.SCI_Urea_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Lead_Yes_Box) then
		Form510.SCI_Lead_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Lead_No_Box) then
		Form510.SCI_Lead_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Pest_Yes_Box) then
		Form510.SCI_Pest_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Pest_No_Box) then
		Form510.SCI_Pest_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_PCB_Yes_Box) then
		Form510.SCI_PCB_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_PCB_No_Box) then
		Form510.SCI_PCB_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Radon_Yes_Box) then
		Form510.SCI_Radon_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form510.SCI_Radon_No_Box) then
		Form510.SCI_Radon_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form510.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form510.RECApprName");
	Form510.CLCApprName = Form510.RECApprName;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form510.RECApprCert");
end;


Formula:
routine main() returns nothing is
begin
	Form510.P2ClientCaseNumber = Form510.ClientCaseNumber;
	Form510.P3ClientCaseNumber = Form510.ClientCaseNumber;
	Form510.P5ClientCaseNumber = Form510.ClientCaseNumber;
	CopyField("Form510.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	Form510.P2FileNumber = Form510.FileNumber;
	Form510.P3FileNumber = Form510.FileNumber;
	Form510.P5FileNumber = Form510.FileNumber;
	CopyField("Form510.FileNumber");
end;


# Form610

Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBCity");
	begin
		Form610.SUBPropCityStateZip = Form610.SUBCity + ", " + 
			Form610.SUBState + " " + Form610.SUBZip;
	end;
	CopyField("Form610.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBState");
	begin
		Form610.SUBPropCityStateZip = Form610.SUBCity + ", " + 
			Form610.SUBState + " " + Form610.SUBZip;
	end;
	CopyField("Form610.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBZip");
	begin
		Form610.SUBPropCityStateZip = Form610.SUBCity + ", " + 
			Form610.SUBState + " " + Form610.SUBZip;
	end;
	CopyField("Form610.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBPropDiscrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form610.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	Form610.RECApprName = Form610.SUBAppraiser;
	Form610.EAAInspectName = Form610.SUBAppraiser;
	CopyField("Form610.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	Form610.SCIInspSigDate = Form610.RECInspectDate;
	CopyField("Form610.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_WaterWells_Yes_Box) then
		Form610.STS_WaterWells_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_WaterWells_No_Box) then
		Form610.STS_WaterWells_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_WaterPrime_Yes_Box) then
		Form610.STS_WaterPrime_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_WaterPrime_No_Box) then
		Form610.STS_WaterPrime_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_WaterLead_Yes_Box) then
		Form610.STS_WaterLead_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_WaterLead_No_Box) then
		Form610.STS_WaterLead_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_Drains_Yes_Box) then
		Form610.STS_Drains_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_Drains_No_Box) then
		Form610.STS_Drains_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_Full_Yes_Box) then
		Form610.STS_Full_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.STS_Full_No_Box) then
		Form610.STS_Full_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbest_Yes_Box) then
		Form610.CGMAsbest_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbest_No_Box) then
		Form610.CGMAsbest_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbestFri_Yes_Box) then
		Form610.CGMAsbestFri_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbestFri_No_Box) then
		Form610.CGMAsbestFri_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbestStr_Yes_Box) then
		Form610.CGMAsbestStr_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbestStr_No_Box) then
		Form610.CGMAsbestStr_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbestObs_Yes_Box) then
		Form610.CGMAsbestObs_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMAsbestObs_No_Box) then
		Form610.CGMAsbestObs_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMFormal_Yes_Box) then
		Form610.CGMFormal_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMFormal_No_Box) then
		Form610.CGMFormal_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMLeadVis_Yes_Box) then
		Form610.CGMLeadVis_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMLeadVis_No_Box) then
		Form610.CGMLeadVis_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMLeadEvi_Yes_Box) then
		Form610.CGMLeadEvi_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMLeadEvi_No_Box) then
		Form610.CGMLeadEvi_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPest_Yes_Box) then
		Form610.CGMPest_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPest_No_Box) then
		Form610.CGMPest_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPestAg_Yes_Box) then
		Form610.CGMPestAg_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPestAg_No_Box) then
		Form610.CGMPestAg_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPestAgPast_Yes_Box) then
		Form610.CGMPestAgPast_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPestAgPast_No_Box) then
		Form610.CGMPestAgPast_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPest10_Yes_Box) then
		Form610.CGMPest10_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPest10_No_Box) then
		Form610.CGMPest10_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPestStr_Yes_Box) then
		Form610.CGMPestStr_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPestStr_No_Box) then
		Form610.CGMPestStr_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMFiberInsul_Yes_Box) then
		Form610.CGMFiberInsul_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMFiberInsul_No_Box) then
		Form610.CGMFiberInsul_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMFiberAppr_Yes_Box) then
		Form610.CGMFiberAppr_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMFiberAppr_No_Box) then
		Form610.CGMFiberAppr_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPolyPCB_Yes_Box) then
		Form610.CGMPolyPCB_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPolyPCB_No_Box) then
		Form610.CGMPolyPCB_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPCBOil_Yes_Box) then
		Form610.CGMPCBOil_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPCBOil_No_Box) then
		Form610.CGMPCBOil_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPCBCont_Yes_Box) then
		Form610.CGMPCBCont_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPCBCont_No_Box) then
		Form610.CGMPCBCont_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPCBFlour_Yes_Box) then
		Form610.CGMPCBFlour_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMPCBFlour_No_Box) then
		Form610.CGMPCBFlour_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMRadon_Yes_Box) then
		Form610.CGMRadon_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMRadon_No_Box) then
		Form610.CGMRadon_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMRadonScr_Yes_Box) then
		Form610.CGMRadonScr_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMRadonScr_No_Box) then
		Form610.CGMRadonScr_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMGenCond_Yes_Box) then
		Form610.CGMGenCond_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMGenCond_No_Box) then
		Form610.CGMGenCond_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMGenCondAdj_Yes_Box) then
		Form610.CGMGenCondAdj_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.CGMGenCondAdj_No_Box) then
		Form610.CGMGenCondAdj_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.SCIAudit_Yes_Box) then
		Form610.SCIAudit_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form610.SCIAudit_No_Box) then
		Form610.SCIAudit_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	Form610.P2ClientCaseNumber = Form610.ClientCaseNumber;
	Form610.P3ClientCaseNumber = Form610.ClientCaseNumber;
	Form610.P4ClientCaseNumber = Form610.ClientCaseNumber;
	Form610.P5ClientCaseNumber = Form610.ClientCaseNumber;
	CopyField("Form610.ClientCaseNumber");
end;


# Form704

Formula:
routine main() returns nothing is
begin
	Form704.P2ClientCaseNumber = Form704.ClientCaseNumber;
	CopyField("Form704.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	Form704.P2FileNumber = Form704.FileNumber;
	CopyField("Form704.FileNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.SUBCenTract");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.SUBMapRef");
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUAddress1" is
begin
	if !Changed("Form704.GSUAddress1") then
		Form704.GSUAddress1 = Form704.SUBPropAddress;
	CopyField("Form704.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.SUBPropType_SF) then
	begin
		Form704.SUBPropType_PUD = "";
		Form704.SUBPropType_Condo = "";
		Form704.SUBPropType_2_4 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.SUBPropType_PUD) then
	begin
		Form704.SUBPropType_SF = "";
		Form704.SUBPropType_Condo = "";
		Form704.SUBPropType_2_4 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.SUBPropType_Condo) then
	begin
		Form704.SUBPropType_SF = "";
		Form704.SUBPropType_PUD = "";
		Form704.SUBPropType_2_4 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.SUBPropType_2_4) then
	begin
		Form704.SUBPropType_SF = "";
		Form704.SUBPropType_PUD = "";
		Form704.SUBPropType_Condo = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUAddress2" is
/* no depends Form704.SUBState Form704.SUBZip */
begin
	CopyField("Form704.SUBCity");
	begin
		Form704.SUBPropCityStateZip = Form704.SUBCity + ", " +
			Form704.SUBState + " " + Form704.SUBZip;
	end;
	CopyField("Form704.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.SUBCounty");
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUAddress2" is
/* no depends Form704.SUBCity Form704.SUBZip */
begin
	CopyField("Form704.SUBState");
	begin
		Form704.SUBPropCityStateZip = Form704.SUBCity + ", " +
			Form704.SUBState + " " + Form704.SUBZip;
	end;
	CopyField("Form704.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Form704.SUBCity Form704.SUBState */
begin
	CopyField("Form704.SUBZip");
	begin
		Form704.SUBPropCityStateZip = Form704.SUBCity + ", " +
			Form704.SUBState + " " + Form704.SUBZip;
	end;
	CopyField("Form704.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.SUBResPhone");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.LDUMtgAmt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.SUBLoanTerm");
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUSalePrice" is
begin
	if !Changed("Form704.GSUSalePrice") then
		Form704.GSUSalePrice = ToString(atof(Form704.SUBOwnerEst), 5);
	CopyField("Form704.SUBOwnerEst");
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUTotRooms" is
begin
	if !Changed("Form704.GSUTotRooms") then
		Form704.GSUTotRooms = Form704.RMSAGTotRooms;
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUBedrooms" is
begin
	if !Changed("Form704.GSUBedrooms") then
		Form704.GSUBedrooms = Form704.RMSAGTotBedrooms;
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUBaths" is
begin
	if !Changed("Form704.GSUBaths") then
		Form704.GSUBaths = Form704.RMSAGTotBaths;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.RMSFamRoom_Yes) then
		Form704.RMSFamRoom_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.RMSFamRoom_No) then
		Form704.RMSFamRoom_Yes = "";
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUGLASqFt" is
begin
	if !Changed("Form704.GSUGLASqFt") then
		Form704.GSUGLASqFt = Form704.RMSAGSqFtGLA;
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUGarCpt" is
begin
	if !Changed("Form704.GSUGarCpt") then
		Form704.GSUGarCpt = Form704.CARType;
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUPorchEtc2" is
begin
	if !Changed("Form704.GSUPorchEtc2") then
		Form704.GSUPorchEtc2 = Form704.AMNPatio;
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUHeatCool" is
/* no depends Form704.HACCoolOther_Box Form704.GSUHeatCool */
begin
	if !IsEmpty(Form704.HACCoolCentral) then
	begin
		Form704.HACCoolOther_Box = "";
		Form704.GSUHeatCool = Form704.GSUHeatCool + "Central";
	end;
end;


Formula:
routine main() returns nothing,
affects "Form704.GSUHeatCool" is
/* no depends Form704.HACCoolCentral Form704.GSUHeatCool */
begin
	integer n;
	if !IsEmpty(Form704.HACCoolOther_Box) then
	begin
		Form704.HACCoolCentral = "";
		n = StrChr(Form704.GSUHeatCool,"Central");
		if n == 0 then
			Form704.GSUHeatCool = StrMid(Form704.GSUHeatCool, 7);
		else if n > 0 then
			Form704.GSUHeatCool = StrLeft(Form704.GSUHeatCool, n) +
				StrMid(Form704.GSUHeatCool, n+7);
	end;	
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.LUCNotLikely) then
	begin
		Form704.LUCFrom = "";
		Form704.LUCTo = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.SFHPricePred") is
begin
	float c;
	c = atof(Form704.SFHPricePred);
	if c < atof(Form704.SFHPriceLow) then
		Message("Warning: Predominant price below low price");
	else if c > atof(Form704.SFHPriceHigh) then
		Message("Warning: Predominant price above high price");
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.SFHAgePred") is
begin
	float c;
	c = atof(Form704.SFHAgePred);
	if c < atof(Form704.SFHAgeLow) then
		Message("Warning: Predominant age below low age");
	else if c > atof(Form704.SFHAgeHigh) then
		Message("Warning: Predominant age above high age");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Form704.GSUAge") then
		Form704.GSUAge = "19" + StrRight("00"+Form704.GDSAge, 2)
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.SITFldHaz_No) then
		Form704.SITFldHaz_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form704.SITFldHaz_Yes) then
		Form704.SITFldHaz_No = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUAddress1");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Form704.GSUAddress2") then
		Form704.GSUAddress2 = Form704.SUBCity + "," + Form704.SUBState;
	CopyField("Form704.GSUAddress2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUSite");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUCondition");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUBedRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUBaths");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUHeatCool");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUGarCpt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUPorchEtc1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUPorchEtc2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUEnergyEff");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUEnergyEff2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUOther1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.GSUOther2");
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC1GLASqFtAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUGLASqFt Form704.GC1GLASqFt Form704.GC2GLASqFt Form704.GC3GLASqFt */
begin
	string n;
	float s, a;
	n = Form704.GC1GLASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUGLASqFt);
		a = atof(Strright(n,Strlength(n)-1));
		if !IsEmpty(Form704.GC1GLASqFt)) then
			Form704.GC1GLASqFtAdj = Round(((s - atof(Form704.GC1GLASqFt))*a)/100)*100;
		else
			Form704.GC1GLASqFtAdj = "";

		if !IsEmpty(Form704.GC2GLASqFt)) then
			Form704.GC2GLASqFtAdj = Round(((s - atof(Form704.GC2GLASqFt)))*a)/100)*100;
		else
			Form704.GC2GLASqFtAdj = "";

		if !IsEmpty(Form704.GC3GLASqFt)) then
			Form704.GC3GLASqFtAdj = Round(((s - atof(Form704.GC3GLASqFt)))*a)/100)*100;
		else
			Form704.GC3GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "Form704.GC1IndValue" is
begin
	float a;
	a = atof(Form704.GC1DateOfSaleAdj) + atof(Form704.GC1LocationAdj) +
		atof(Form704.GC1SiteAdj) + atof(Form704.GC1AgeAdj) +
		atof(Form704.GC1ConditionAdj) + atof(Form704.GC1RoomsAdj) +
		atof(Form704.GC1GLASqFtAdj) + atof(Form704.GC1HeatCoolAdj) +
		atof(Form704.GC1GarCptAdj) + atof(Form704.GC1PorchEtc1Adj) +
		atof(Form704.GC1PorchEtc2Adj) + atof(Form704.GC1EnergyEffAdj) +
		atof(Form704.GC1EnergyEff2Adj) + atof(Form704.GC1Other1Adj) +
		atof(Form704.GC1Other2Adj);

	Form704.GC1NetAdjAmt = ToString(Round(a));

	if IsEmpty(Form704.GC1NetAdjAmt) then
	begin
		Form704.GC1Plus_Box = "";
		Form704.GC1Minus_Box = "";
	end;
	else if atof(Form704.GC1NetAdjAmt) >= 0 then
	begin
		Form704.GC1Plus_Box = "X";
		Form704.GC1Minus_Box = "";
	end;
	else
	begin
		Form704.GC1Plus_Box = "";
		Form704.GC1Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	Form704.GC1IndValue = ToString(atof(Form704.GC1SalePrice) + atof(Form704.GC1NetAdjAmt), 5);
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	sum=Abs(atof(Form704.GC1DateOfSaleAdj)) + Abs(atof(Form704.GC1LocationAdj)) +
		Abs(atof(Form704.GC1SiteAdj)) + Abs(atof(Form704.GC1AgeAdj)) +
		Abs(atof(Form704.GC1ConditionAdj)) + Abs(atof(Form704.GC1RoomsAdj)) +
		Abs(atof(Form704.GC1GLASqFtAdj)) + Abs(atof(Form704.GC1HeatCoolAdj)) +
		Abs(atof(Form704.GC1GarCptAdj)) + Abs(atof(Form704.GC1PorchEtc1Adj)) +
		Abs(atof(Form704.GC1PorchEtc2Adj)) + Abs(atof(Form704.GC1EnergyEffAdj)) +
		Abs(atof(Form704.GC1EnergyEff2Adj)) + Abs(atof(Form704.GC1Other1Adj)) +
		Abs(atof(Form704.GC1Other2Adj));

	price = atof(Form704.GC1SalePrice);
	If price > 0 Then
	begin
		Form704.GC1GrossPct_Value = ToString(sum/price*100,5);
		Form704.GC1GrossPct_Sign = "G%";
	end;
	else
	begin
		Form704.GC1GrossPct_Value = "";
		Form704.GC1GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	sum=atof(Form704.GC1DateOfSaleAdj) + atof(Form704.GC1LocationAdj) +
		atof(Form704.GC1SiteAdj) + atof(Form704.GC1AgeAdj) +
		atof(Form704.GC1ConditionAdj) + atof(Form704.GC1RoomsAdj) +
		atof(Form704.GC1GLASqFtAdj) + atof(Form704.GC1HeatCoolAdj) +
		atof(Form704.GC1GarCptAdj) + atof(Form704.GC1PorchEtc1Adj) +
		atof(Form704.GC1PorchEtc2Adj) + atof(Form704.GC1EnergyEffAdj) +
		atof(Form704.GC1EnergyEff2Adj) + atof(Form704.GC1Other1Adj) +
		atof(Form704.GC1Other2Adj);

	price = atof(Form704.GC1SalePrice);
	If price > 0 Then
	begin
		Form704.GC1NetPct_Value = ToString(Abs(sum)/price*100,5);
		Form704.GC1NetPct_Sign = "N:";
	end;
	else
	begin
		Form704.GC1NetPct_Value = "";
		Form704.GC1NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC2GLASqFtAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUGLASqFt Form704.GC1GLASqFt Form704.GC2GLASqFt Form704.GC3GLASqFt */
begin
	string n;
	float s, a;
	n = Form704.GC2GLASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUGLASqFt);
		a = atof(Strright(n,Strlength(n)-1));
		if !IsEmpty(Form704.GC1GLASqFt)) then
			Form704.GC1GLASqFtAdj = Round(((s - atof(Form704.GC1GLASqFt))*a)/100)*100;
		else
			Form704.GC1GLASqFtAdj = "";

		if !IsEmpty(Form704.GC2GLASqFt)) then
			Form704.GC2GLASqFtAdj = Round(((s - atof(Form704.GC2GLASqFt)))*a)/100)*100;
		else
			Form704.GC2GLASqFtAdj = "";

		if !IsEmpty(Form704.GC3GLASqFt)) then
			Form704.GC3GLASqFtAdj = Round(((s - atof(Form704.GC3GLASqFt)))*a)/100)*100;
		else
			Form704.GC3GLASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "Form704.GC2IndValue" is
begin
	float a;
	a = atof(Form704.GC2DateOfSaleAdj) + atof(Form704.GC2LocationAdj) +
		atof(Form704.GC2SiteAdj) + atof(Form704.GC2AgeAdj) +
		atof(Form704.GC2ConditionAdj) + atof(Form704.GC2RoomsAdj) +
		atof(Form704.GC2GLASqFtAdj) + atof(Form704.GC2HeatCoolAdj) +
		atof(Form704.GC2GarCptAdj) + atof(Form704.GC2PorchEtc1Adj) +
		atof(Form704.GC2PorchEtc2Adj) + atof(Form704.GC2EnergyEffAdj) +
		atof(Form704.GC2EnergyEff2Adj) + atof(Form704.GC2Other1Adj) +
		atof(Form704.GC2Other2Adj);

	Form704.GC2NetAdjAmt = ToString(Round(a));

	if IsEmpty(Form704.GC2NetAdjAmt) then
	begin
		Form704.GC2Plus_Box = "";
		Form704.GC2Minus_Box = "";
	end;
	else if atof(Form704.GC2NetAdjAmt) >= 0 then
	begin
		Form704.GC2Plus_Box = "X";
		Form704.GC2Minus_Box = "";
	end;
	else
	begin
		Form704.GC2Plus_Box = "";
		Form704.GC2Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	Form704.GC2IndValue = ToString(atof(Form704.GC2SalePrice) + atof(Form704.GC2NetAdjAmt), 5);
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	sum=Abs(atof(Form704.GC2DateOfSaleAdj)) + Abs(atof(Form704.GC2LocationAdj)) +
		Abs(atof(Form704.GC2SiteAdj)) + Abs(atof(Form704.GC2AgeAdj)) +
		Abs(atof(Form704.GC2ConditionAdj)) + Abs(atof(Form704.GC2RoomsAdj)) +
		Abs(atof(Form704.GC2GLASqFtAdj)) + Abs(atof(Form704.GC2HeatCoolAdj)) +
		Abs(atof(Form704.GC2GarCptAdj)) + Abs(atof(Form704.GC2PorchEtc1Adj)) +
		Abs(atof(Form704.GC2PorchEtc2Adj)) + Abs(atof(Form704.GC2EnergyEffAdj)) +
		Abs(atof(Form704.GC2EnergyEff2Adj)) + Abs(atof(Form704.GC2Other1Adj)) +
		Abs(atof(Form704.GC2Other2Adj));

	price = atof(Form704.GC2SalePrice);
	If price > 0 then
	begin
		Form704.GC2GrossPct_Value = ToString(sum/price*100,5);
		Form704.GC2GrossPct_Sign = "G%";
	end;
	else
	begin
		Form704.GC2GrossPct_Value = "";
		Form704.GC2GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	sum=atof(Form704.GC2DateOfSaleAdj) + atof(Form704.GC2LocationAdj) +
		atof(Form704.GC2SiteAdj) + atof(Form704.GC2AgeAdj) +
		atof(Form704.GC2ConditionAdj) + atof(Form704.GC2RoomsAdj) +
		atof(Form704.GC2GLASqFtAdj) + atof(Form704.GC2HeatCoolAdj) +
		atof(Form704.GC2GarCptAdj) + atof(Form704.GC2PorchEtc1Adj) +
		atof(Form704.GC2PorchEtc2Adj) + atof(Form704.GC2EnergyEffAdj) +
		atof(Form704.GC2EnergyEff2Adj) + atof(Form704.GC2Other1Adj) +
		atof(Form704.GC2Other2Adj);

	price = atof(Form704.GC2SalePrice);
	If price > 0 Then
	begin
		Form704.GC2NetPct_Value = ToString(Abs(sum)/price*100,5);
		Form704.GC2NetPct_Sign = "N:";
	end;
	else
	begin
		Form704.GC2NetPct_Value = "";
		Form704.GC2NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "Form704.GC3IndValue" is
begin
	float a;
	a = atof(Form704.GC3DateOfSaleAdj) + atof(Form704.GC3LocationAdj) +
		atof(Form704.GC3SiteAdj) + atof(Form704.GC3AgeAdj) +
		atof(Form704.GC3ConditionAdj) + atof(Form704.GC3RoomsAdj) +
		atof(Form704.GC3GLASqFtAdj) + atof(Form704.GC3HeatCoolAdj) +
		atof(Form704.GC3GarCptAdj) + atof(Form704.GC3PorchEtc1Adj) +
		atof(Form704.GC3PorchEtc2Adj) + atof(Form704.GC3EnergyEffAdj) +
		atof(Form704.GC3EnergyEff2Adj) + atof(Form704.GC3Other1Adj) +
		atof(Form704.GC3Other2Adj);

	Form704.GC3NetAdjAmt = ToString(Round(a));

	if IsEmpty(Form704.GC3NetAdjAmt) then
	begin
		Form704.GC3Plus_Box = "";
		Form704.GC3Minus_Box = "";
	end;
	else if atof(Form704.GC3NetAdjAmt) >= 0 then
	begin
		Form704.GC3Plus_Box = "X";
		Form704.GC3Minus_Box = "";
	end;
	else
	begin
		Form704.GC3Plus_Box = "";
		Form704.GC3Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	Form704.GC3IndValue = ToString(atof(Form704.GC3SalePrice) + atof(Form704.GC3NetAdjAmt), 5);
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	sum=Abs(atof(Form704.GC3DateOfSaleAdj)) + Abs(atof(Form704.GC3LocationAdj)) +
		Abs(atof(Form704.GC3SiteAdj)) + Abs(atof(Form704.GC3AgeAdj)) +
		Abs(atof(Form704.GC3ConditionAdj)) + Abs(atof(Form704.GC3RoomsAdj)) +
		Abs(atof(Form704.GC3GLASqFtAdj)) + Abs(atof(Form704.GC3HeatCoolAdj)) +
		Abs(atof(Form704.GC3GarCptAdj)) + Abs(atof(Form704.GC3PorchEtc1Adj)) +
		Abs(atof(Form704.GC3PorchEtc2Adj)) + Abs(atof(Form704.GC3EnergyEffAdj)) +
		Abs(atof(Form704.GC3EnergyEff2Adj)) + Abs(atof(Form704.GC3Other1Adj)) +
		Abs(atof(Form704.GC3Other2Adj));

	price = atof(Form704.GC3SalePrice);
	If price > 0 Then
	begin
		Form704.GC3GrossPct_Value = ToString(sum/price*100,5);
		Form704.GC3GrossPct_Sign = "G%";
	end;
	else
	begin
		Form704.GC3GrossPct_Value = "";
		Form704.GC3GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sum;
	sum=atof(Form704.GC3DateOfSaleAdj) + atof(Form704.GC3LocationAdj) +
		atof(Form704.GC3SiteAdj) + atof(Form704.GC3AgeAdj) +
		atof(Form704.GC3ConditionAdj) + atof(Form704.GC3RoomsAdj) +
		atof(Form704.GC3GLASqFtAdj) + atof(Form704.GC3HeatCoolAdj) +
		atof(Form704.GC3GarCptAdj) + atof(Form704.GC3PorchEtc1Adj) +
		atof(Form704.GC3PorchEtc2Adj) + atof(Form704.GC3EnergyEffAdj) +
		atof(Form704.GC3EnergyEff2Adj) + atof(Form704.GC3Other1Adj) +
		atof(Form704.GC3Other2Adj);

	price = atof(Form704.GC3SalePrice);
	If price > 0 Then
	begin
		Form704.GC3NetPct_Value = ToString(Abs(sum)/price*100,5);
		Form704.GC3NetPct_Sign = "N:";
	end;
	else
	begin
		Form704.GC3NetPct_Value = "";
		Form704.GC3NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.RECEstMktValue");
end;


Formula:
routine main() returns nothing is
begin
	begin
		Form704.RECInspectDate = Form704.RECInspectDate_Part + " 19" +
			Form704.RECInspectYear;
	end;

	CopyField("Form704.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	Form704.SUBAppraiser = Form704.RECApprName;
	Form704.RECAppraiser = Form704.RECApprName;
	CopyField("Form704.SUBAppraiser");
	CopyField("Form704.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form704.RECApprCert");
end;


Formula:
routine main() returns nothing is
/* no depends Form704.RECSignYear */
begin
	Form704.RECApprSignDate = Form704.RECSignDate + ", 19" +
		StrRight("00"+ToString(atoi(Form704.RECSignYear)),2);
	CopyField("Form704.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
/* no depends Form704.RECSignDate */
begin
	Form704.RECApprSignDate = Form704.RECSignDate + ", 19" +
		StrRight("00"+ToString(atoi(Form704.RECSignYear)),2);
	CopyField("Form704.RECApprSignDate");
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC1SiteAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUSite Form704.GC1Site Form704.GC2Site Form704.GC3Site */
begin
	string n;
	float s, a;
	n = Form704.GC1SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUSite);
		a = atof(StrRight(n,StrLength(n)-1));
		if !IsEmpty(Form704.GC1Site)) then
			Form704.GC1SiteAdj = ToString(Round(((s - atof(Form704.GC1Site))*a)/100)*100);
		else
			Form704.GC1SiteAdj = "";

		if !IsEmpty(Form704.GC2Site)) then
			Form704.GC2SiteAdj = Round(((s - atof(Form704.GC2Site)))*a)/100)*100;
		else
			Form704.GC2SiteAdj = "";

		if !IsEmpty(Form704.GC3Site)) then
			Form704.GC3SiteAdj = Round(((s - atof(Form704.GC3Site)))*a)/100)*100;
		else
			Form704.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC1AgeAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUAge Form704.GC1Age Form704.GC2Age Form704.GC3Age */
begin
	string n;
	float s, a;
	n = Form704.GC1AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUAge);
		a = atof(Strright(n,Strlength(n)-1));
		if s < 1000 then
			a = -a;
		if !IsEmpty(Form704.GC1Age)) then
			Form704.GC1AgeAdj = Round(((s - atof(Form704.GC1Age))*a)/100)*100;
		else
			Form704.GC1AgeAdj = "";

		if !IsEmpty(Form704.GC2Age)) then
			Form704.GC2AgeAdj = Round(((s - atof(Form704.GC2Age)))*a)/100)*100;
		else
			Form704.GC2AgeAdj = "";

		if !IsEmpty(Form704.GC3Age)) then
			Form704.GC3AgeAdj = Round(((s - atof(Form704.GC3Age)))*a)/100)*100;
		else
			Form704.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC2SiteAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUSite Form704.GC1Site Form704.GC2Site Form704.GC3Site */
begin
	string n;
	float s, a;
	n = Form704.GC2SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUSite);
		a = atof(Strright(n,Strlength(n)-1));
		if !IsEmpty(Form704.GC1Site)) then
			Form704.GC1SiteAdj = Round(((s - atof(Form704.GC1Site))*a)/100)*100;
		else
			Form704.GC1SiteAdj = "";

		if !IsEmpty(Form704.GC2Site)) then
			Form704.GC2SiteAdj = Round(((s - atof(Form704.GC2Site)))*a)/100)*100;
		else
			Form704.GC2SiteAdj = "";

		if !IsEmpty(Form704.GC3Site)) then
			Form704.GC3SiteAdj = Round(((s - atof(Form704.GC3Site)))*a)/100)*100;
		else
			Form704.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC2AgeAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUAge Form704.GC1Age Form704.GC2Age Form704.GC3Age */
begin
	string n;
	float s, a;
	n = Form704.GC2AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUAge);
		a = atof(Strright(n,Strlength(n)-1));
		if s < 1000 then
			a = -a;
		if !IsEmpty(Form704.GC1Age)) then
			Form704.GC1AgeAdj = Round(((s - atof(Form704.GC1Age))*a)/100)*100;
		else
			Form704.GC1AgeAdj = "";

		if !IsEmpty(Form704.GC2Age)) then
			Form704.GC2AgeAdj = Round(((s - atof(Form704.GC2Age)))*a)/100)*100;
		else
			Form704.GC2AgeAdj = "";

		if !IsEmpty(Form704.GC3Age)) then
			Form704.GC3AgeAdj = Round(((s - atof(Form704.GC3Age)))*a)/100)*100;
		else
			Form704.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC3SiteAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUSite Form704.GC1Site Form704.GC2Site Form704.GC3Site */
begin
	string n;
	float s, a;
	n = Form704.GC3SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUSite);
		a = atof(Strright(n,Strlength(n)-1));
		if !IsEmpty(Form704.GC1Site)) then
			Form704.GC1SiteAdj = Round(((s - atof(Form704.GC1Site))*a)/100)*100;
		else
			Form704.GC1SiteAdj = "";

		if !IsEmpty(Form704.GC2Site)) then
			Form704.GC2SiteAdj = Round(((s - atof(Form704.GC2Site)))*a)/100)*100;
		else
			Form704.GC2SiteAdj = "";

		if !IsEmpty(Form704.GC3Site)) then
			Form704.GC3SiteAdj = Round(((s - atof(Form704.GC3Site)))*a)/100)*100;
		else
			Form704.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC3AgeAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUAge Form704.GC1Age Form704.GC2Age Form704.GC3Age */
begin
	string n;
	float s, a;
	n = Form704.GC3AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUAge);
		a = atof(Strright(n,Strlength(n)-1));
		if s < 1000 then
			a = -a;
		if !IsEmpty(Form704.GC1Age)) then
			Form704.GC1AgeAdj = Round(((s - atof(Form704.GC1Age))*a)/100)*100;
		else
			Form704.GC1AgeAdj = "";

		if !IsEmpty(Form704.GC2Age)) then
			Form704.GC2AgeAdj = Round(((s - atof(Form704.GC2Age)))*a)/100)*100;
		else
			Form704.GC2AgeAdj = "";

		if !IsEmpty(Form704.GC3Age)) then
			Form704.GC3AgeAdj = Round(((s - atof(Form704.GC3Age)))*a)/100)*100;
		else
			Form704.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("Form704.GC3GLASqFtAdj"),
affects "Form704.GC1NetAdjAmt,Form704.GC2NetAdjAmt,Form704.GC3NetAdjAmt",
affects "Form704.GC1GrossPct_Value,Form704.GC1NetPct_Value",
affects "Form704.GC2GrossPct_Value,Form704.GC2NetPct_Value",
affects "Form704.GC3GrossPct_Value,Form704.GC3NetPct_Value" is
/* no depends Form704.GSUGLASqFt Form704.GC1GLASqFt Form704.GC2GLASqFt Form704.GC3GLASqFt */
begin
	string n;
	float s, a;
	n = Form704.GC3GLASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(Form704.GSUGLASqFt);
		a = atof(Strright(n,Strlength(n)-1));
		if !IsEmpty(Form704.GC1GLASqFt)) then
			Form704.GC1GLASqFtAdj = Round(((s - atof(Form704.GC1GLASqFt))*a)/100)*100;
		else
			Form704.GC1GLASqFtAdj = "";

		if !IsEmpty(Form704.GC2GLASqFt)) then
			Form704.GC2GLASqFtAdj = Round(((s - atof(Form704.GC2GLASqFt)))*a)/100)*100;
		else
			Form704.GC2GLASqFtAdj = "";

		if !IsEmpty(Form704.GC3GLASqFt)) then
			Form704.GC3GLASqFtAdj = Round(((s - atof(Form704.GC3GLASqFt)))*a)/100)*100;
		else
			Form704.GC3GLASqFtAdj = "";
	end;
end;


# Form70M

Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.SALESHasTrans_Box) then
	begin
		Form70M.SALESHasTransMonths = "";
		Form70M.SALESHasTransYears = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.SALESPrior_Box) then
	begin
		Form70M.SALESPriorMonths = "";
		Form70M.SALESPriorYears = "";
		Form70M.SUBDateOfSale1 = "";
		Form70M.SUBSalePrice1 = "";
		Form70M.ClientcaseNumber1 = "";
		Form70M.SUBCurOwner1 = "";
		Form70M.SUBCurBuyer1 = "";
		Form70M.SUBDateOfSale2 = "";
		Form70M.SUBSalePrice2 = "";
		Form70M.ClientcaseNumber2 = "";
		Form70M.SUBCurOwner2 = "";
		Form70M.SUBCurBuyer2 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	Form70M.P2FileNumber = Form70M.FileNumber;
	CopyField("Form70M.FileNumber");
end;


Formula:
routine main() returns nothing is
begin
	Form70M.P2ClientCaseNumber = Form70M.ClientCaseNumber;
	CopyField("Form70M.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	Form70M.SUBAccordTo = Form70M.SUBBorrower;
	Form70M.SALESAccordTo = Form70M.SUBBorrower;
	CopyField("Form70M.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form70M.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends Form70M.SUBState Form70M.SUBZip */
begin
	CopyField("Form70M.SUBCity");
	Form70M.SUBPropCityStateZip = Form70M.SUBCity + ", " +
		Form70M.SUBState + " " + Form70M.SUBZip;
	CopyField("Form70M.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form70M.SUBCounty");
end;


Formula:
routine main() returns nothing is
/* no depends Form70M.SUBCity Form70M.SUBZip */
begin
	CopyField("Form70M.SUBState");
	Form70M.SUBPropCityStateZip = Form70M.SUBCity + ", " +
		Form70M.SUBState + " " + Form70M.SUBZip;
	CopyField("Form70M.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Form70M.SUBCity Form70M.SUBState */
begin
	CopyField("Form70M.SUBZip");
	Form70M.SUBPropCityStateZip = Form70M.SUBCity + ", " +
		Form70M.SUBState + " " + Form70M.SUBZip;
	CopyField("Form70M.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form70M.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.EXTRepCost_Box) then
		Form70M.EXTBased_On = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.SUBNotOffered_Box) then
	begin
		Form70M.SUBPastMonths = "";
		Form70M.SUBPastYears = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.SUBCurrentOffered_Box) then
		Form70M.SUBSalesPriceD = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.SUBWasOffered_Box) then
	begin
		Form70M.SUBWasMonths = "";
		Form70M.SUBWasYears = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.SALESNotTrans_Box) then
	begin
		Form70M.SALESNotTransMonths = "";
		Form70M.SALESNotTransYears = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.FEMAIsLocated_Box) then
	begin
		Form70M.SITEFEMAZone = "";
		Form70M.SITEFEMAMapNo = "";
		Form70M.SITEFEMAMapDate = "";
		Form70M.SUBProjName = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.CURRWhereReview_Box) then
	begin
		Form70M.CURRContDate = "";
		Form70M.CURRAdmendDate = "";
		Form70M.SUBSalesPrice = "";
		Form70M.SUBCurrentOwner = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.CURRPropWasIncl_Box) then
	begin
		Form70M.CURRConsistedOf_#1 = "";
		Form70M.CURRConsistedOf_#2 = "";
		Form70M.CURREstVal = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(Form70M.CURRConcessions_Box) then
	begin
		Form70M.CURRConcessions_#1 = "";
		Form70M.CURRConcessions_#2 = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form70M.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form70M.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form70M.RECApprName");
end;


# Form710

Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends Form710.SUBState Form710.SUBZip */
begin
	CopyField("Form710.SUBCity");
	begin
		Form710.SUBPropCityStateZip = Form710.SUBCity + ", " + 
			Form710.SUBState + " " + Form710.SUBZip;
	end;
	CopyField("Form710.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBCounty");
end;


Formula:
routine main() returns nothing is
/* no depends Form710.SUBCity Form710.SUBZip */
begin
	CopyField("Form710.SUBState");
	begin
		Form710.SUBPropCityStateZip = Form710.SUBCity + ", " + 
			Form710.SUBState + " " + Form710.SUBZip;
	end;
	CopyField("Form710.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Form710.SUBCity Form710.SUBState */
begin
	CopyField("Form710.SUBZip");
	begin
		Form710.SUBPropCityStateZip = Form710.SUBCity + ", " + 
			Form710.SUBState + " " + Form710.SUBZip;
	end;
	CopyField("Form710.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBLegalDescr");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBApprCompany");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBApprTitle");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBApprAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBApprCity");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBApprState");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Form710.SUBApprZip");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnInds_Yes_Box) then
	begin
		Form710.ESAOwnInds_No_Box = "";
		Form710.ESAOwnInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnInds_No_Box) then
	begin
		Form710.ESAOwnInds_Yes_Box = "";
		Form710.ESAOwnInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnInds_Unk_Box) then
	begin
		Form710.ESAOwnInds_Yes_Box = "";
		Form710.ESAOwnInds_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccInds_Yes_Box) then
	begin
		Form710.ESAOccInds_No_Box = "";
		Form710.ESAOccInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastInds_Yes_Box) then
	begin
		Form710.ESAOccPastInds_No_Box = "";
		Form710.ESAOccPastInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastInds_No_Box) then
	begin
		Form710.ESAOccPastInds_Yes_Box = "";
		Form710.ESAOccPastInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastInds_Unk_Box) then
	begin
		Form710.ESAOccPastInds_Yes_Box = "";
		Form710.ESAOccPastInds_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastInds_Yes_Box) then
	begin
		Form710.ESAOwnPastInds_No_Box = "";
		Form710.ESAOwnPastInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastInds_No_Box) then
	begin
		Form710.ESAOwnPastInds_Yes_Box = "";
		Form710.ESAOwnPastInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastInds_Unk_Box) then
	begin
		Form710.ESAOwnPastInds_Yes_Box = "";
		Form710.ESAOwnPastInds_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastPastInds_Yes_Box) then
	begin
		Form710.ESAObsPastInds_No_Box = "";
		Form710.ESAObsPastInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastPastInds_No_Box) then
	begin
		Form710.ESAObsPastInds_Yes_Box = "";
		Form710.ESAObsPastInds_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastPastInds_Unk_Box) then
	begin
		Form710.ESAObsPastInds_Yes_Box = "";
		Form710.ESAObsPastInds_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPropGas_Yes_Box) then
	begin
		Form710.ESAOwnPropGas_No_Box = "";
		Form710.ESAOwnPropGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPropGas_No_Box) then
	begin
		Form710.ESAOwnPropGas_Yes_Box = "";
		Form710.ESAOwnPropGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPropGas_Unk_Box) then
	begin
		Form710.ESAOwnPropGas_Yes_Box = "";
		Form710.ESAOwnPropGas_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPropGas_Yes_Box) then
	begin
		Form710.ESAOccPropGas_No_Box = "";
		Form710.ESAOccPropGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPropGas_No_Box) then
	begin
		Form710.ESAOccPropGas_Yes_Box = "";
		Form710.ESAOccPropGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPropGas_Unk_Box) then
	begin
		Form710.ESAOccPropGas_Yes_Box = "";
		Form710.ESAOccPropGas_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPropGas_Yes_Box) then
	begin
		Form710.ESAObsPropGas_No_Box = "";
		Form710.ESAObsPropGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPropGas_No_Box) then
	begin
		Form710.ESAObsPropGas_Yes_Box = "";
		Form710.ESAObsPropGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPropGas_Unk_Box) then
	begin
		Form710.ESAObsPropGas_Yes_Box = "";
		Form710.ESAObsPropGas_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastGas_Yes_Box) then
	begin
		Form710.ESAOwnPastGas_No_Box = "";
		Form710.ESAOwnPastGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastGas_No_Box) then
	begin
		Form710.ESAOwnPastGas_Yes_Box = "";
		Form710.ESAOwnPastGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastGas_Unk_Box) then
	begin
		Form710.ESAOwnPastGas_Yes_Box = "";
		Form710.ESAOwnPastGas_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastGas_Yes_Box) then
	begin
		Form710.ESAOccPastGas_No_Box = "";
		Form710.ESAOccPastGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastGas_No_Box) then
	begin
		Form710.ESAOccPastGas_Yes_Box = "";
		Form710.ESAOccPastGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastGas_Unk_Box) then
	begin
		Form710.ESAOccPastGas_Yes_Box = "";
		Form710.ESAOccPastGas_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastGas_Yes_Box) then
	begin
		Form710.ESAObsPastGas_No_Box = "";
		Form710.ESAObsPastGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastGas_No_Box) then
	begin
		Form710.ESAObsPastGas_Yes_Box = "";
		Form710.ESAObsPastGas_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastGas_Unk_Box) then
	begin
		Form710.ESAObsPastGas_Yes_Box = "";
		Form710.ESAObsPastGas_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastBatt_Yes_Box) then
	begin
		Form710.ESAOwnPastBatt_No_Box = "";
		Form710.ESAOwnPastBatt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastBatt_No_Box) then
	begin
		Form710.ESAOwnPastBatt_Yes_Box = "";
		Form710.ESAOwnPastBatt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPastBatt_Unk_Box) then
	begin
		Form710.ESAOwnPastBatt_Yes_Box = "";
		Form710.ESAOwnPastBatt_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastBatt_Yes_Box) then
	begin
		Form710.ESAOccastBatt_No_Box = "";
		Form710.ESAOccPastBatt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastBatt_No_Box) then
	begin
		Form710.ESAOccastBatt_Yes_Box = "";
		Form710.ESAOccPastBatt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPastBatt_Unk_Box) then
	begin
		Form710.ESAOccastBatt_Yes_Box = "";
		Form710.ESAOccPastBatt_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastBatt_Yes_Box) then
	begin
		Form710.ESAObsastBatt_No_Box = "";
		Form710.ESAObsPastBatt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastBatt_No_Box) then
	begin
		Form710.ESAObsastBatt_Yes_Box = "";
		Form710.ESAObsPastBatt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPastBatt_Unk_Box) then
	begin
		Form710.ESAObsastBatt_Yes_Box = "";
		Form710.ESAObsPastBatt_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnChem_Yes_Box) then
	begin
		Form710.ESAOwnChem_No_Box = "";
		Form710.ESAOwnChem_Unk_Box = ""
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnChem_No_Box) then
	begin
		Form710.ESAOwnChem_Yes_Box = ""
		Form710.ESAOwnChem_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnChem_Unk_Box) then
	begin
		Form710.ESAOwnChem_Yes_Box = ""
		Form710.ESAOwnChem_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccChem_Yes_Box) then
	begin
		Form710.ESAOccChem_No_Box = ""
		Form710.ESAOccChem_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccChem_No_Box) then
	begin
		Form710.ESAOccChem_Yes_Box = ""
		Form710.ESAOccChem_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccChem_Unk_Box) then
	begin
		Form710.ESAOccChem_Yes_Box = ""
		Form710.ESAOccChem_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsChem_Yes_Box) then
	begin
		Form710.ESAObsChem_No_Box = ""
		Form710.ESAObsChem_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsChem_No_Box) then
	begin
		Form710.ESAObsChem_Yes_Box = ""
		Form710.ESAObsChem_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsChem_Unk_Box) then
	begin
		Form710.ESAObsChem_Yes_Box = ""
		Form710.ESAObsChem_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnChem_Yes_Box) then
	begin
		Form710.ESAOwnChem_No_Box = ""
		Form710.ESAOwnChem_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccDirt_Yes_Box) then
	begin
		Form710.ESAOccDirt_No_Box = ""
		Form710.ESAOccDirt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccDirt_No_Box) then
	begin
		Form710.ESAOccDirt_Yes_Box = ""
		Form710.ESAOccDirt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccDirt_Unk_Box) then
	begin
		Form710.ESAOccDirt_Yes_Box = ""
		Form710.ESAOccDirt_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsDirt_Yes_Box) then
	begin
		Form710.ESAObsDirt_No_Box = ""
		Form710.ESAObsDirt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsDirt_No_Box) then
	begin
		Form710.ESAObsDirt_Yes_Box = ""
		Form710.ESAObsDirt_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsDirt_Unk_Box) then
	begin
		Form710.ESAObsDirt_Yes_Box = ""
		Form710.ESAObsDirt_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPPL_Yes_Box) then
	begin
		Form710.ESAOwnPPL_No_Box = ""
		Form710.ESAOwnPPL_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPPL_No_Box) then
	begin
		Form710.ESAOwnPPL_Yes_Box = ""
		Form710.ESAOwnPPL_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPPL_Unk_Box) then
	begin
		Form710.ESAOwnPPL_Yes_Box = ""
		Form710.ESAOwnPPL_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPPL_Yes_Box) then
	begin
		Form710.ESAOccPPL_No_Box = ""
		Form710.ESAOccPPL_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPPL_No_Box) then
	begin
		Form710.ESAOccPPL_Yes_Box = ""
		Form710.ESAOccPPL_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPPL_Unk_Box) then
	begin
		Form710.ESAOccPPL_Yes_Box = ""
		Form710.ESAOccPPL_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPPL_Yes_Box) then
	begin
		Form710.ESAObsPPL_No_Box = ""
		Form710.ESAObsPPL_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPPL_No_Box) then
	begin
		Form710.ESAObsPPL_Yes_Box = ""
		Form710.ESAObsPPL_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPPL_Unk_Box) then
	begin
		Form710.ESAObsPPL_Yes_Box = ""
		Form710.ESAObsPPL_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnStain_Yes_Box) then
	begin
		Form710.ESAOwnStain_No_Box = ""
		Form710.ESAOwnStain_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnStain_No_Box) then
	begin
		Form710.ESAOwnStain_Yes_Box = ""
		Form710.ESAOwnStain_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnStain_Unk_Box) then
	begin
		Form710.ESAOwnStain_Yes_Box = ""
		Form710.ESAOwnStain_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccStain_Yes_Box) then
	begin
		Form710.ESAOccStain_No_Box = ""
		Form710.ESAOccStain_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccStain_No_Box) then
	begin
		Form710.ESAOccStain_Yes_Box = ""
		Form710.ESAOccStain_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccStain_Unk_Box) then
	begin
		Form710.ESAOccStain_Yes_Box = ""
		Form710.ESAOccStain_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsStain_Yes_Box) then
	begin
		Form710.ESAObsStain_No_Box = ""
		Form710.ESAObsStain_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsStain_No_Box) then
	begin
		Form710.ESAObsStain_Yes_Box = ""
		Form710.ESAObsStain_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsStain_Unk_Box) then
	begin
		Form710.ESAObsStain_Yes_Box = ""
		Form710.ESAObsStain_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnTanks_Yes_Box) then
	begin
		Form710.ESAOwnTanks_No_Box = ""
		Form710.ESAOwnTanks_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnTanks_No_Box) then
	begin
		Form710.ESAOwnTanks_Yes_Box = ""
		Form710.ESAOwnTanks_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnTanks_Unk_Box) then
	begin
		Form710.ESAOwnTanks_Yes_Box = ""
		Form710.ESAOwnTanks_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccTanks_Yes_Box) then
	begin
		Form710.ESAOccTanks_No_Box = ""
		Form710.ESAOccTanks_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccTanks_No_Box) then
	begin
		Form710.ESAOccTanks_Yes_Box = ""
		Form710.ESAOccTanks_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccTanks_Unk_Box) then
	begin
		Form710.ESAOccTanks_Yes_Box = ""
		Form710.ESAOccTanks_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsTanks_Yes_Box) then
	begin
		Form710.ESAObsTanks_No_Box = ""
		Form710.ESAObsTanks_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsTanks_No_Box) then
	begin
		Form710.ESAObsTanks_Yes_Box = ""
		Form710.ESAObsTanks_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsTanks_Unk_Box) then
	begin
		Form710.ESAObsTanks_Yes_Box = ""
		Form710.ESAObsTanks_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPipes_Yes_Box) then
	begin
		Form710.ESAOwnPipes_No_Box = ""
		Form710.ESAOwnPipes_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPipes_No_Box) then
	begin
		Form710.ESAOwnPipes_Yes_Box = ""
		Form710.ESAOwnPipes_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPipes_Unk_Box) then
	begin
		Form710.ESAOwnPipes_Yes_Box = ""
		Form710.ESAOwnPipes_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPipes_Yes_Box) then
	begin
		Form710.ESAOccPipes_No_Box = ""
		Form710.ESAOccPipes_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPipes_No_Box) then
	begin
		Form710.ESAOccPipes_Yes_Box = ""
		Form710.ESAOccPipes_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPipes_Unk_Box) then
	begin
		Form710.ESAOccPipes_Yes_Box = ""
		Form710.ESAOccPipes_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPipes_Yes_Box) then
	begin
		Form710.ESAObsPipes_Yes_Box = ""
		Form710.ESAObsPipes_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPipes_No_Box) then
	begin
		Form710.ESAObsPipes_Yes_Box = ""
		Form710.ESAObsPipes_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPipes_Unk_Box) then
	begin
		Form710.ESAObsPipes_Yes_Box = ""
		Form710.ESAObsPipes_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWater_Yes_Box) then
	begin
		Form710.ESAOwnWater_Yes_Box = ""
		Form710.ESAOwnWater_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWater_No_Box) then
	begin
		Form710.ESAOwnWater_Yes_Box = ""
		Form710.ESAOwnWater_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWater_Unk_Box) then
	begin
		Form710.ESAOwnWater_Yes_Box = ""
		Form710.ESAOwnWater_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWater_Yes_Box) then
	begin
		Form710.ESAOccWater_No_Box = ""
		Form710.ESAOccWater_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWater_No_Box) then
	begin
		Form710.ESAOccWater_Yes_Box = ""
		Form710.ESAOccWater_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWater_Unk_Box) then
	begin
		Form710.ESAOccWater_Yes_Box = ""
		Form710.ESAOccWater_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWater_Yes_Box) then
	begin
		Form710.ESAObsWater_No_Box = ""
		Form710.ESAObsWater_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWater_No_Box) then
	begin
		Form710.ESAObsWater_Yes_Box = ""
		Form710.ESAObsWater_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWater_Unk_Box) then
	begin
		Form710.ESAObsWater_Yes_Box = ""
		Form710.ESAObsWater_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWell_Yes_Box) then
	begin
		Form710.ESAOwnWell_No_Box = ""
		Form710.ESAOwnWell_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWell_No_Box) then
	begin
		Form710.ESAOwnWell_Yes_Box = ""
		Form710.ESAOwnWell_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWell_Unk_Box) then
	begin
		Form710.ESAOwnWell_Yes_Box = ""
		Form710.ESAOwnWell_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWell_Yes_Box) then
	begin
		Form710.ESAOccWell_Yes_Box = ""
		Form710.ESAOccWell_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWell_No_Box) then
	begin
		Form710.ESAOccWell_Yes_Box = ""
		Form710.ESAOccWell_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWell_Unk_Box) then
	begin
		Form710.ESAOccWell_Yes_Box = ""
		Form710.ESAOccWell_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWell_Yes_Box) then
	begin
		Form710.ESAObsWell_No_Box = ""
		Form710.ESAObsWell_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWell_No_Box) then
	begin
		Form710.ESAObsWell_Yes_Box = ""
		Form710.ESAObsWell_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWell_Unk_Box) then
	begin
		Form710.ESAObsWell_Yes_Box = ""
		Form710.ESAObsWell_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnLiens_Yes_Box) then
	begin
		Form710.ESAOwnLiens_No_Box = ""
		Form710.ESAOwnLiens_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnLiens_No_Box) then
	begin
		Form710.ESAOwnLiens_Yes_Box = ""
		Form710.ESAOwnLiens_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnLiens_Unk_Box) then
	begin
		Form710.ESAOwnLiens_Yes_Box = ""
		Form710.ESAOwnLiens_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccLiens_Yes_Box) then
	begin
		Form710.ESAOccLiens_No_Box = ""
		Form710.ESAOccLiens_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccLiens_No_Box) then
	begin
		Form710.ESAOccLiens_Yes_Box = ""
		Form710.ESAOccLiens_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccLiens_Unk_Box) then
	begin
		Form710.ESAOccLiens_Yes_Box = ""
		Form710.ESAOccLiens_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsLiens_Yes_Box) then
	begin
		Form710.ESAObsLiens_No_Box = ""
		Form710.ESAObsLiens_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsLiens_No_Box) then
	begin
		Form710.ESAObsLiens_Yes_Box = ""
		Form710.ESAObsLiens_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsLiens_Unk_Box) then
	begin
		Form710.ESAObsLiens_Yes_Box = ""
		Form710.ESAObsLiens_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHaz_Yes_Box) then
	begin
		Form710.ESAOwnHaz_No_Box = ""
		Form710.ESAOwnHaz_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHaz_No_Box) then
	begin
		Form710.ESAOwnHaz_Yes_Box = ""
		Form710.ESAOwnHaz_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHaz_Unk_Box) then
	begin
		Form710.ESAOwnHaz_Yes_Box = ""
		Form710.ESAOwnHaz_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHaz_Yes_Box) then
	begin
		Form710.ESAOccHaz_No_Box = ""
		Form710.ESAOccHaz_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHaz_No_Box) then
	begin
		Form710.ESAOccHaz_Yes_Box = ""
		Form710.ESAOccHaz_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHaz_Unk_Box) then
	begin
		Form710.ESAOccHaz_Yes_Box = ""
		Form710.ESAOccHaz_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHaz_Yes_Box) then
	begin
		Form710.ESAObsHaz_No_Box = ""
		Form710.ESAObsHaz_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHaz_No_Box) then
	begin
		Form710.ESAObsHaz_Yes_Box = ""
		Form710.ESAObsHaz_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHaz_Unk_Box) then
	begin
		Form710.ESAObsHaz_Yes_Box = ""
		Form710.ESAObsHaz_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHazAss_Yes_Box) then
	begin
		Form710.ESAOwnHazAss_No_Box = ""
		Form710.ESAOwnHazAss_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHazAss_No_Box) then
	begin
		Form710.ESAOwnHazAss_Yes_Box = ""
		Form710.ESAOwnHazAss_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHazAss_Unk_Box) then
	begin
		Form710.ESAOwnHazAss_Yes_Box = ""
		Form710.ESAOwnHazAss_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHazAss_Yes_Box) then
	begin
		Form710.ESAOccHazAss_No_Box = ""
		Form710.ESAOccHazAss_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHazAss_No_Box) then
	begin
		Form710.ESAOccHazAss_Yes_Box = ""
		Form710.ESAOccHazAss_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHazAss_Unk_Box) then
	begin
		Form710.ESAOccHazAss_Yes_Box = ""
		Form710.ESAOccHazAss_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHazAss_Yes_Box) then
	begin
		Form710.ESAObsHazAss_No_Box = ""
		Form710.ESAObsHazAss_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHazAss_No_Box) then
	begin
		Form710.ESAObsHazAss_Yes_Box = ""
		Form710.ESAObsHazAss_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHazAss_Unk_Box) then
	begin
		Form710.ESAObsHazAss_Yes_Box = ""
		Form710.ESAObsHazAss_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHazPast_Yes_Box) then
	begin
		Form710.ESAOwnHazPast_No_Box = ""
		Form710.ESAOwnHazPast_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHazPast_No_Box) then
	begin
		Form710.ESAOwnHazPast_Yes_Box = ""
		Form710.ESAOwnHazPast_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnHazPast_Unk_Box) then
	begin
		Form710.ESAOwnHazPast_Yes_Box = ""
		Form710.ESAOwnHazPast_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHazPast_Yes_Box) then
	begin
		Form710.ESAOccHazPast_No_Box = ""
		Form710.ESAOccHazPast_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHazPast_No_Box) then
	begin
		Form710.ESAOccHazPast_Yes_Box = ""
		Form710.ESAOccHazPast_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccHazPast_Unk_Box) then
	begin
		Form710.ESAOccHazPast_Yes_Box = ""
		Form710.ESAOccHazPast_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHazPast_Yes_Box) then
	begin
		Form710.ESAObsHazPast_No_Box = ""
		Form710.ESAObsHazPast_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHazPast_No_Box) then
	begin
		Form710.ESAObsHazPast_Yes_Box = ""
		Form710.ESAObsHazPast_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsHazPast_Unk_Box) then
	begin
		Form710.ESAObsHazPast_Yes_Box = ""
		Form710.ESAObsHazPast_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWaste_Yes_Box) then
	begin
		Form710.ESAOwnWaste_No_Box = ""
		Form710.ESAOwnWaste_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWaste_No_Box) then
	begin
		Form710.ESAOwnWaste_Yes_Box = ""
		Form710.ESAOwnWaste_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnWaste_Unk_Box) then
	begin
		Form710.ESAOwnWaste_Yes_Box = ""
		Form710.ESAOwnWaste_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWaste_Yes_Box) then
	begin
		Form710.ESAOccWaste_No_Box = ""
		Form710.ESAOccWaste_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWaste_No_Box) then
	begin
		Form710.ESAOccWaste_Yes_Box = ""
		Form710.ESAOccWaste_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccWaste_Unk_Box) then
	begin
		Form710.ESAOccWaste_Yes_Box = ""
		Form710.ESAOccWaste_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWaste_Yes_Box) then
	begin
		Form710.ESAObsWaste_No_Box = ""
		Form710.ESAObsWaste_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWaste_No_Box) then
	begin
		Form710.ESAObsWaste_Yes_Box = ""
		Form710.ESAObsWaste_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsWaste_Unk_Box) then
	begin
		Form710.ESAObsWaste_Yes_Box = ""
		Form710.ESAObsWaste_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPetro_No_Box) then
	begin
		Form710.ESAOwnPetro_Yes_Box = "";
		Form710.ESAOwnPetro_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPetro_No_Box) then
	begin
		Form710.ESAOccPetro_Yes_Box = "";
		Form710.ESAOccPetro_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPetro_No_Box) then
	begin
		Form710.ESAObsPetro_Yes_Box = "";
		Form710.ESAObsPetro_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPetro_Unk_Box) then
	begin
		Form710.ESAObsPetro_Yes_Box = "";
		Form710.ESAObsPetro_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPCB_Yes_Box) then
	begin
		Form710.ESAOwnPCB_Yes_Box = "";
		Form710.ESAOwnPCB_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPCB_No_Box) then
	begin
		Form710.ESAOwnPCB_Yes_Box = "";
		Form710.ESAOwnPCB_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOwnPCB_Unk_Box) then
	begin
		Form710.ESAOwnPCB_Yes_Box = "";
		Form710.ESAOwnPCB_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPCB_Yes_Box) then
	begin
		Form710.ESAOccPCB_No_Box = "";
		Form710.ESAOccPCB_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPCB_No_Box) then
	begin
		Form710.ESAOccPCB_Yes_Box = "";
		Form710.ESAOccPCB_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAOccPCB_Unk_Box) then
	begin
		Form710.ESAOccPCB_Yes_Box = "";
		Form710.ESAOccPCB_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPCB_Yes_Box) then
	begin
		Form710.ESAObsPCB_No_Box = "";
		Form710.ESAObsPCB_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPCB_No_Box) then
	begin
		Form710.ESAObsPCB_Yes_Box = "";
		Form710.ESAObsPCB_Unk_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAObsPCB_Unk_Box) then
	begin
		Form710.ESAObsPCB_Yes_Box = "";
		Form710.ESAObsPCB_No_Box = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListNat_Yes_Box) then
		Form710.ESAListNat_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListNat_No_Box) then
		Form710.ESAListNat_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListCerclis_Yes_Box) then
		Form710.ESAListCerclis_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListCerclis_No_Box) then
		Form710.ESAListCerclis_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListRCRA_Yes_Box) then
		Form710.ESAListRCRA_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListRCRA_No_Box) then
		Form710.ESAListRCRA_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListNPL_Yes_Box) then
		Form710.ESAListNPL_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListNPL_No_Box) then
		Form710.ESAListNPL_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListCERC_Yes_Box) then
		Form710.ESAListCERC_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListCERC_No_Box) then
		Form710.ESAListCERC_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListLUST_Yes_Box) then
		Form710.ESAListLUST_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListLUST_No_Box) then
		Form710.ESAListLUST_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListSolid_Yes_Box) then
		Form710.ESAListSolid_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAListSolid_No_Box) then
		Form710.ESAListSolid_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAFire_Yes_Box) then
		Form710.ESAFire_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(Form710.ESAFire_No_Box) then
		Form710.ESAFire_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	Form710.P2ClientCaseNumber = Form710.ClientCaseNumber;
	Form710.P3ClientCaseNumber = Form710.ClientCaseNumber;
	Form710.P4ClientCaseNumber = Form710.ClientCaseNumber;
	Form710.P5ClientCaseNumber = Form710.ClientCaseNumber;
	CopyField("Form710.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	Form710.P2FileNumber = Form710.FileNumber;
	Form710.P3FileNumber = Form710.FileNumber;
	Form710.P4FileNumber = Form710.FileNumber;
	Form710.P5FileNumber = Form710.FileNumber;
	CopyField("Form710.FileNumber");
end;


# Forms

Description:
Uniform Environmental Assessment Report Small Commercial


Description:
ASTM Standard Practice for Environmental Site Assessments


Description:
FEMA - Standard Flood Hazard Determination


Description:
Residential Appraisal Review Narrative (2004)


Description:
Small Property Uniform Commercial/Industrial Appraisal Report


Description:
Desktop Underwriter Quantitative Analysis Appraisal Report (2055)


Description:
Desktop Underwriter Qualitative Analysis Appraisal Report (2065)


Description:
Residential Appraisal Report Short Form (704)


Description:
Desktop Underwriter Property Inspection Report (2075)


Description:
HUD National Valuation Condition (VC) Sheet (HUD9722A)


Description:
Individual Cooperative Interest Appraisal Report


Description:
Appraisal Report Residential Income Property


# HUD9722A

Formula:
routine main() returns nothing is
begin
	CopyField("HUD9722A.ClientCaseNumber");
	HUD9722A.P2ClientCaseNumber = HUD9722A.ClientCaseNumber;
	HUD9722A.P3ClientCaseNumber = HUD9722A.ClientCaseNumber;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("HUD9722A.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("HUD9722A.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("HUD9722A.RECStateLicNo");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("HUD9722A.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("HUD9722A.SUBPropCityStateZip");
end;


# Iciar

Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.ClientCaseNumber");
	Iciar.P2ClientCaseNumber = Iciar.ClientCaseNumber;
	Iciar.P3ClientCaseNumber = Iciar.ClientCaseNumber;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends Iciar.SUBState Iciar.SUBZip */
begin
	String CSZ;
	CopyField("Iciar.SUBCity");
	begin
		CSZ = Iciar.SUBCity;
		if !IsEmpty(Iciar.SUBState) then
			CSZ = CSZ + ", " + Iciar.SUBState;
		if !IsEmpty(Iciar.SUBState) then
			CSZ = CSZ + " " + Iciar.SUBZip;
		Iciar.SUBPropCityStateZip = CSZ;
	end;
	CopyField("Iciar.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Iciar.SUBCity Iciar.SUBZip */
begin
	String CSZ;
	CopyField("Iciar.SUBState");
	begin
		CSZ = Iciar.SUBCity;
		if !IsEmpty(Iciar.SUBState) then
			CSZ = CSZ + ", " + Iciar.SUBState;
		if !IsEmpty(Iciar.SUBState) then
			CSZ = CSZ + " " + Iciar.SUBZip;
		Iciar.SUBPropCityStateZip = CSZ;
	end;
	CopyField("Iciar.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends Iciar.SUBState Iciar.SUBCity */
begin
	String CSZ;
	CopyField("Iciar.SUBZip");
	begin
		CSZ = Iciar.SUBCity;
		if !IsEmpty(Iciar.SUBState) then
			CSZ = CSZ + ", " + Iciar.SUBState;
		if !IsEmpty(Iciar.SUBState) then
			CSZ = CSZ + " " + Iciar.SUBZip;
		Iciar.SUBPropCityStateZip = CSZ;
	end;
	CopyField("Iciar.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBUnitNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBProjName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBCenTract");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBCurOwner");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBOccup_Owner");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBOccup_Tenant");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBOccup_Vacant");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBDataSource");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBDateOfDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBLoanConc");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.SUBApprAddress");
end;


Formula:
routine main() returns nothing is 
begin 
	if IsEmpty(Iciar.PROOwner) and IsEmpty(Iciar.PROTenant) then 
		Iciar.PROOwner_Text = "";
end;


Formula:
routine main() returns nothing,
requires Changed("Iciar.SFHPricePred") is 
begin
	float p;
	p = atof(Iciar.SFHPricePred);
	if p < atof(Iciar.SFHPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Iciar.SFHPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing,
requires Changed("Iciar.SFHAgePred") is 
begin
	float p;
	p = atof(Iciar.SFHAgePred);
	if p < atof(Iciar.SFHAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Iciar.SFHAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin 
	if IsEmpty(Iciar.CDOOwner) and IsEmpty(Iciar.CDOTenant) then 
		Iciar.CDOOwner_Text = "";
end;


Formula:
routine main() returns nothing is 
begin 
	if IsEmpty(Iciar.CDOOwner) and IsEmpty(Iciar.CDOTenant) then 
		Iciar.CDOTenant_Text = "";
end;


Formula:
routine main() returns nothing,
requires Changed("Iciar.CDHPricePred") is 
begin
	float p;
	p = atof(Iciar.CDHPricePred);
	if p < atof(Iciar.CDHPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(Iciar.CDHPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing,
requires Changed("Iciar.CDHAgePred") is 
begin
	float p;
	p = atof(Iciar.CDHAgePred);
	if p < atof(Iciar.CDHAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(Iciar.CDHAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin 
	if IsEmpty(Iciar.LCULikely) and IsEmpty(Iciar.LCUInProcess) then 
		Iciar.LUCTo_1 = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(Iciar.SITHBUse_Other) then
		Iciar.SITHBUse_Explain = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("Iciar.GSUView"),
affects "Iciar.GSUView" is
begin
	Iciar.GSUView = Iciar.SITView;
end;


Formula:
routine main() returns nothing,
requires !Changed("Iciar.GSUAge"),
affects "Iciar.GSUAge" is
begin
	String f;
	f = Iciar.GDSAge;
	If (atoi(f) > 0) and (atoi(f) < 1000) Then
		f = f + " yrs";
	Iciar.GSUAge = f;
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUTotRooms" is
begin
	if !Changed("Iciar.GSUTotRooms") then
		Iciar.GSUTotRooms = Iciar.RMSAGTotRooms;
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUBedRooms" is
begin
	if !Changed("Iciar.GSUBedRooms") then
		Iciar.GSUBedRooms = Iciar.RMSAGTotBedrooms;
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUBaths" is
begin
	if !Changed("Iciar.GSUBaths") then
		Iciar.GSUBaths = Iciar.RMSAGTotBaths;
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUGLASqFt",
affects "Iciar.CSTDwellCost" is
/* no depends Iciar.CSTDwellSF */
begin
	CopyField("Iciar.RMSAGSqFtGLA");

	if !Changed("Iciar.CSTDwellSF") then
		Iciar.CSTDwellSF = Iciar.RMSAGSqFtGLA;

	if !Changed("Iciar.GSUGLASqFt") then
		Iciar.GSUGLASqFt = Iciar.RMSAGSqFtGLA;
end;


Formula:
routine main() returns nothing,
requires !Changed("Iciar.RMSBGSqFtGLA"),
affects "Iciar.GSUBsmRooms1" is 
begin
	string f;
	if IsEmpty(Iciar.RMSBGSqFtGLA) then
		f = Iciar.RMSBGSqFtGLA = GetArea("BasementArea");

	if IsEmpty(Iciar.RMSBGSqFtGLA) then
	begin
		if IsEmpty(f) then
			Iciar.RMSBGSqFtGLA = "None";
		else
			Iciar.RMSBGSqFtGLA = f;
	end;

	if !Changed("Iciar.RMSBsmArea") then
		Iciar.RMSBsmArea = Iciar.BSMAreaSF;

	if !Changed("Iciar.GSUBsmRooms1") then
		Iciar.GSUBsmRooms1 = Iciar.BSMAreaSF;
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUPorchEtc2" is
begin
	if IsEmpty(Iciar.AMNFireplace_Box) then
		Iciar.AMNFireplace = "";
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUPorchEtc1" is
begin
	if IsEmpty(Iciar.AMNPatio_Box) then
		Iciar.AMNPatio = "";
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUPorchEtc1" is
begin
	if IsEmpty(Iciar.AMNDeck_Box) then
		Iciar.AMNDeck = "";
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUPorchEtc1" is
begin
	if IsEmpty(Iciar.AMNPorch_Box) then
		Iciar.AMNPorch = "";
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUPorchEtc1" is
begin
	if IsEmpty(Iciar.AMNTerrace_Box) then
		Iciar.AMNTerrace = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(URAR0693.AMNOther_Box) then
		URAR0693.AMNOther_Text = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("Iciar.GSUGarCpt") is
begin
	if !IsEmpty(Iciar.CARNone_Box) Then
		Iciar.GSUGarCpt = "None";
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUGarCpt" is
begin
	if IsEmpty(Iciar.CARGarage) then
		Iciar.CAROther = "";
end;


Formula:
routine main() returns nothing,
affects "Iciar.GSUGarCpt" is
begin
	if IsEmpty(Iciar.CAROpen) then
		Iciar.CAROther2 = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(Iciar.INSRoof_Box) then
		Iciar.INSRoof = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(Iciar.INSCeiling_Box) then
		Iciar.INSCeiling = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(Iciar.INSWalls_Box) then
		Iciar.INSWalls = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(Iciar.INSFloor_Box) then
		Iciar.INSFloor = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(Iciar.INSNone) then
		Iciar.INSNone_Box = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(Iciar.INSUnknown) then
		Iciar.INSUnknown_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Iciar.FileNumber");
	Iciar.P2FileNumber = Iciar.FileNumber;
	Iciar.P3FileNumber = Iciar.FileNumber;
end;


# Invoice

Formula:
routine main() returns nothing,
requires !Changed("Invoice.SUBAppraiser2") is
begin
	Invoice.SUBAppraiser2 = Invoice.SUBAppraiser;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Invoice.APPR2Address") then
		Invoice.APPR2Address = Invoice.RECApprName;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Invoice.APPR2Address2") then
		Invoice.APPR2Address2 = Invoice.SUBApprAddress;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Invoice.APPR2Address3") then
		Invoice.APPR2Address3 = Invoice.RECApprAddress2;
end;


Formula:
routine main() returns nothing,
requires !Changed("Invoice.SUBLenClient2") is
begin
	Invoice.SUBLenClient2 = Invoice.SUBLenClient;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Invoice.CLIENT2Address") then
		Invoice.CLIENT2Address = Invoice.SUBLenCompany;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Invoice.CLIENT2Address2") then
		Invoice.CLIENT2Address2 = Invoice.SUBLCAddress;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Invoice.CLIENT2Address3") then
		Invoice.CLIENT2Address3 = Invoice.SUBLCAddress2;
end;


Formula:
routine main() returns nothing is
begin
	Invoice.INVDate2 = Invoice.RECApprSignDate;
end;


Formula:
routine main() returns nothing is
begin
	Invoice.INVAppraisalDate2= Invoice.RECInspectDate;
end;


Formula:
routine main() returns nothing is
begin
	Invoice.ClientCaseNumber2 = Invoice.ClientCaseNumber;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("Invoice.INVLegalDesc_#1") then
		Invoice.INVLegalDesc_#1 = Invoice.SUBLegalDescrip;
end;


Formula:
routine main() returns nothing,
requires Changed("Invoice.APPRSaleTax"),
affects "Invoice.APPRTotal" is
begin
	float sum, rate;
	if StrRight(Invoice.APPRSaleTax,1) == "%" then
	begin
		sum = atof(Invoice.APPRFee) + atof(Invoice.APPRMail_Handling_Fee) + 
			atof(Invoice.APPRAddCharge1) + atof(Invoice.APPRAddCharge2) + 
			atof(Invoice.APPRAddCharge3);
		rate = atof(Invoice.APPRSaleTax)/100;
		Invoice.APPRSaleTax = ToString(Fraction(2, sum*rate),2);
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("Invoice.APPRTotal") is
begin
	float sum;
	sum = atof(Invoice.APPRFee) + atof(Invoice.APPRMail_Handling_Fee) + 
		atof(Invoice.APPRAddCharge1) + atof(Invoice.APPRAddCharge2) + 
		atof(Invoice.APPRAddCharge3) + atof(Invoice.APPRSaleTax);
	Invoice.APPRTotal = ToString(Fraction(2, sum), 2);
	Invoice.ApprAmountDue = Invoice.APPRTotal;
end;


# LimCert

Formula:
routine main() returns nothing is
begin
	LimCert.P2ClientCaseNumber = LimCert.ClientCaseNumber;
	CopyField("LimCert.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	LimCert.P2FileNumber = LimCert.FileNumber;
	CopyField("LimCert.FileNumber");
end;


# Macros

FieldData:
Small Residential Income Property Appraisal Report


# OperatIncome

Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.ACRemLife) != 0 then
		OperatIncome.ACByAppr = ToString(atof(OperatIncome.ACRepCost) / atof(OperatIncome.ACRemLife) * 
			atof(OperatIncome.ACUnits),5);
end;


Formula:
routine main() returns nothing is
begin
	float Sum;
	Sum=atof(OperatIncome.ExpElectricityAdjust) + atof(OperatIncome.ExpGasAdjust) + 
		atof(OperatIncome.ExpFuelOilAdjust) + atof(OperatIncome.ExpFuelAdjust) + 
		atof(OperatIncome.ExpWaterSewerAdjust) + atof(OperatIncome.ExpTrashRemovalAdjust) + 
		atof(OperatIncome.ExpPestControlAdjust) + atof(OperatIncome.ExpTaxesAdjust) + 
		atof(OperatIncome.ExpCasualLaborAdjust) + atof(OperatIncome.ExpInteriorPaintAdjust) + 
		atof(OperatIncome.ExpGeneralRepairsAdjust) + atof(OperatIncome.ExpManagementAdjust) +
		atof(OperatIncome.ExpSuppliesAdjust) + atof(OperatIncome.ExpMisc1Adjust) + 
		atof(OperatIncome.ExpMisc2Adjust) + atof(OperatIncome.ExpMisc3Adjust) + 
		atof(OperatIncome.ExpMisc4Adjust) + atof(OperatIncome.ExpMisc5Adjust) + 
		atof(OperatIncome.ExpMisc6Adjust) + atof(OperatIncome.ExpMisc7Adjust) + 
		atof(OperatIncome.ExpMisc8Adjust) + atof(OperatIncome.ExpMisc9Adjust) + 
		atof(OperatIncome.ExpMisc10Adjust);
	OperatIncome.TotalOpExpAdjust = ToString(Sum,5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.OperatingIncome" is
begin
	OperatIncome.EffectGrossIncome = ToString(atof(OperatIncome.TotalIncome) - 
		atof(OperatIncome.VacancyRent), 5);

	if !Changed("OperatIncome.EffGrossIncome2") then
		OperatIncome.EffGrossIncome2 = OperatIncome.EffectGrossIncome;
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.CarpetUnitYears) != 0 then
		OperatIncome.CarpetUnitsByAppr = ToString(atof(OperatIncome.CarpetUnitsSqYd) * 
			atof(OperatIncome.CarpetUnitPrice) / atof(OperatIncome.CarpetUnitYears),5);
end;


Formula:
routine main() returns nothing is
begin
	OperatIncome.P2ClientCaseNumber = OperatIncome.ClientCaseNumber;
	CopyField("OperatIncome.ClientCaseNumber");
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.TotalIncome" is
begin
	float Sum;
	Sum=atof(OperatIncome.CurrRent1) + atof(OperatIncome.CurrRent2) + 
		atof(OperatIncome.CurrRent3) + atof(OperatIncome.CurrRent4);
	OperatIncome.CurrRentTotal = ToString(Sum,5);

	OperatIncome.GrossAnnIncome = ToString(Sum * 12,5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.CWDRemLife) != 0 then
		OperatIncome.CWDByAppr = ToString(atof(OperatIncome.CWDRepCost) / atof(OperatIncome.CWDRemLife) * 
			atof(OperatIncome.CWDUnits),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.DishRemLife) != 0 then
		OperatIncome.DishByAppr = ToString(atof(OperatIncome.DishRepCost) / atof(OperatIncome.DishRemLife) * 
			atof(OperatIncome.DishUnits),5);
end;


Formula:
routine main() returns nothing is
begin
	OperatIncome.P2FileNumber = OperatIncome.FileNumber;
	CopyField("OperatIncome.FileNumber");
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.FurnRemLife) != 0 then
		OperatIncome.FurnByAppr = ToString(atof(OperatIncome.FurnRepCost) / atof(OperatIncome.FurnRemLife) * 
			atof(OperatIncome.FurnUnits),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.TotalIncomeAdjust" is
begin
	float Sum;
	Sum=atof(OperatIncome.MarketRent1) + atof(OperatIncome.MarketRent2) + 
		atof(OperatIncome.MarketRent3) + atof(OperatIncome.MarketRent4);
	OperatIncome.MarketRentTotal = ToString(Sum,5);

	OperatIncome.GrossAnnIncomeAdjust = ToString(Sum * 12,5);
end;


Formula:
routine main() returns nothing is
begin
	OperatIncome.MonthlyOperatingIncome = ToString(atof(OperatIncome.OperatingIncome) / 12, 5);
	OperatIncome.MonthlyOperatingIncome2 = OperatIncome.MonthlyOperatingIncome;
end;


Formula:
routine main() returns nothing is
begin
	OperatIncome.NetCashFlow = ToString(atof(OperatIncome.MonthlyOperatingIncome2) - 
		atof(OperatIncome.MonthlyHousingExp),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.MonthlyOperatingIncome" is
begin
	OperatIncome.OperatingIncome = ToString(atof(OperatIncome.EffGrossIncome2) - 
		atof(OperatIncome.TotalOperatingExp),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.OtherRemLife) != 0 then
		OperatIncome.OtherByAppr = ToString(atof(OperatIncome.OtherRepCost) / atof(OperatIncome.OtherRemLife) * 
			atof(OperatIncome.OtherUnits),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.CarpetPublicYears) != 0 then
		OperatIncome.CarpetPublicByAppr = ToString(atof(OperatIncome.CarpetPublicSqYd) * 
			atof(OperatIncome.CarpetPublicPrice) / atof(OperatIncome.CarpetPublicYears),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.TotalOpExp" is
begin
	float Sum;
	Sum=atof(OperatIncome.StoveByAppr) + atof(OperatIncome.RefrigByAppr) +
		atof(OperatIncome.DishByAppr) + atof(OperatIncome.ACByAppr) +
		atof(OperatIncome.CWDByAppr) + atof(OperatIncome.HWByAppr) +
		atof(OperatIncome.FurnByAppr) + atof(OperatIncome.OtherByAppr) + 
		atof(OperatIncome.RoofByAppr) + atof(OperatIncome.CarpetUnitsByAppr) + 
		atof(OperatIncome.CarpetPublicByAppr);

	OperatIncome.PublicByApprTotal = ToString(Sum,5);

	if !Changed("OperatIncome.ExpMisc1") then
		OperatIncome.ExpMisc1 = ToString(Sum,5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.TotalOpExpAdjust" is
begin
	float Sum;
	Sum=atof(OperatIncome.StoveLenderAdj) + atof(OperatIncome.RefrigLenderAdj) +
		atof(OperatIncome.DishLenderAdj) + atof(OperatIncome.ACLenderAdj) +
		atof(OperatIncome.CWDLenderAdj) + atof(OperatIncome.HWLenderAdj) +
		atof(OperatIncome.FurnLenderAdj) + atof(OperatIncome.OtherLenderAdj) + 
		atof(OperatIncome.RoofLenderAdj) + atof(OperatIncome.CarpetUnitsLenderAdj) + 
		atof(OperatIncome.CarpetPublicLenderAdj);

	OperatIncome.PublicLenderAdjTotal = ToString(Sum,5);

	if !Changed("OperatIncome.ExpMisc1Adjust") then
		OperatIncome.ExpMisc1Adjust = ToString(Sum,5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.RefrigRemLife) != 0 then
		OperatIncome.RefrigByAppr = ToString(atof(OperatIncome.RefrigRepCost) / atof(OperatIncome.RefrigRemLife) * 
			atof(OperatIncome.RefrigUnits),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.RoofRemLife) != 0 then
		OperatIncome.RoofByAppr = ToString(atof(OperatIncome.RoofRepCost) / atof(OperatIncome.RoofRemLife),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.StoveRemLife) != 0 then
		OperatIncome.StoveByAppr = ToString(atof(OperatIncome.StoveRepCost) / atof(OperatIncome.StoveRemLife) * 
			atof(OperatIncome.StoveUnits),5);
end;


Formula:
routine main() returns nothing is
/* no depends OperatIncome.SUBState OperatIncome.SUBZip */
begin
	CopyField("OperatIncome.SUBCity");
	begin
		OperatIncome.SUBPropCityStateZip = OperatIncome.SUBCity + ", " + 
			OperatIncome.SUBState + " " + OperatIncome.SUBZip;
	end;
	CopyField("OperatIncome.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.GSUAddress1" is
begin
	if!Changed("OperatIncome.GSUAddress1") then
		OperatIncome.GSUAddress1 = OperatIncome.SUBPropAddress;
	CopyField("OperatIncome.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends OperatIncome.SUBCity OperatIncome.SUBZip */
begin
	CopyField("OperatIncome.SUBState");
	begin
		OperatIncome.SUBPropCityStateZip = OperatIncome.SUBCity + ", " + 
			OperatIncome.SUBState + " " + OperatIncome.SUBZip;
	end;
	CopyField("OperatIncome.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends OperatIncome.SUBCity OperatIncome.SUBState */
begin
	CopyField("OperatIncome.SUBZip");
	begin
		OperatIncome.SUBPropCityStateZip = OperatIncome.SUBCity + ", " + 
			OperatIncome.SUBState + " " + OperatIncome.SUBZip;
	end;
	CopyField("OperatIncome.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.EffectGrossIncome,OperatIncome.VacancyPct" is
begin
	OperatIncome.TotalIncome = ToString(atof(OperatIncome.GrossAnnIncome) + 
		atof(OperatIncome.OtherIncome),5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.VacancyPctAdjust,OperatIncome.EffectGrossIncomeAdjust" is
begin
	OperatIncome.TotalIncomeAdjust = ToString(atof(OperatIncome.GrossAnnIncomeAdjust) + 
		atof(OperatIncome.OtherIncomeAdjust), 5);
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.OperatingIncome" is
begin
	float Sum;
	Sum=atof(OperatIncome.ExpElectricity) + atof(OperatIncome.ExpGas) + 
		atof(OperatIncome.ExpFuelOil) + atof(OperatIncome.ExpFuel) + 
		atof(OperatIncome.ExpWaterSewer) + atof(OperatIncome.ExpTrashRemoval) + 
		atof(OperatIncome.ExpPestControl) + atof(OperatIncome.ExpTaxes) + 
		atof(OperatIncome.ExpCasualLabor) + atof(OperatIncome.ExpInteriorPaint) + 
		atof(OperatIncome.ExpGeneralRepairs) + atof(OperatIncome.ExpManagement) +
		atof(OperatIncome.ExpSupplies) + atof(OperatIncome.ExpMisc1) + 
		atof(OperatIncome.ExpMisc2) + atof(OperatIncome.ExpMisc3) + 
		atof(OperatIncome.ExpMisc4) + atof(OperatIncome.ExpMisc5) + 
		atof(OperatIncome.ExpMisc6) + atof(OperatIncome.ExpMisc7) + 
		atof(OperatIncome.ExpMisc8) + atof(OperatIncome.ExpMisc9) + 
		atof(OperatIncome.ExpMisc10);
	OperatIncome.TotalOpExp = ToString(Sum,5);

	if !Changed("OperatIncome.TotalOperatingExp") then
		OperatIncome.TotalOperatingExp = ToString(Sum,5);
end;


Formula:
routine main() returns nothing is
begin
	if OperatIncome.TotalIncome != 0 then
		OperatIncome.VacancyPct = OperatIncome.VacancyRent / OperatIncome.TotalIncome;
end;


Formula:
routine main() returns nothing is
begin
	if OperatIncome.TotalIncomeAdjust != 0 then
		OperatIncome.VacancyPctAdjust = OperatIncome.VacancyRentAdjust 
			/ OperatIncome.TotalIncomeAdjust;
end;


Formula:
routine main() returns nothing,
affects "OperatIncome.PublicByApprTotal" is
begin
	if atof(OperatIncome.HWRemLife) != 0 then
		OperatIncome.HWByAppr = ToString(atof(OperatIncome.HWRepCost) / atof(OperatIncome.HWRemLife) * 
			atof(OperatIncome.HWUnits),5);
end;


Formula:
routine main() returns nothing is
begin
	OperatIncome.EffectGrossIncomeAdjust = ToString(atof(OperatIncome.TotalIncomeAdjust) - 
		atof(OperatIncome.VacancyRentAdjust), 5);
end;


# PhotoPage

Formula:
routine main() returns nothing is
begin
	CopyField("PhotoPage.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("PhotoPage.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("PhotoPage.SUBCity");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("PhotoPage.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("PhotoPage.SUBState");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("PhotoPage.SUBZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("PhotoPage.SUBLenClient");
end;


# Review2000

Formula:
routine main() returns nothing is
begin
	CopyField("Review2000.SUBPropAddress");
	if !Changed("Review2000.GSUAddress1") then
		Review2000.GSUAddress1 = Review2000.SUBPropAddress;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2000.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2000.SUBReviewer");
	if !Changed("Review2000.RecAppraiser2") then
		Review2000.RecAppraiser2 = Review2000.SUBReviewer;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2000.SUBApprAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2000.SUBApprPhone");
end;


# Review2002

Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBPropAddress");
	if !Changed("Review2002.GSUAddress1") then
		Review2002.GSUAddress1 = Review2002.SUBPropAddress;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBLoanNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBAppraiser");
	if !Changed("Review2002.RECAppraiser") then
		Review2002.RECAppraiser = Review2002.SUBAppraiser;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBApprPhone");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2002.SUBApprAddress");
end;


# Review2004

Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2004.GSUGLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2004.GSUSalePrice);
		Review2004.GSUPriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2004.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2004.SUBAppraiser");
	if !Changed("Review2004.RECAppraiser") then
		Review2004.RECAppraiser = Review2004.SUBAppraiser;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2004.SUBApprPhone");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2004.SUBApprAddress");
end;


Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2004.GC1GLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2004.GC1SalePrice);
		Review2004.GC1PriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing,
affects "Review2004.GC1IndVal" is
begin
	float sum;
	sum=atof(Review2004.GC1SalesFin1Adj) + atof(Review2004.GC1SalesFin2Adj) +
		atof(Review2004.GC1DateOfSaleAdj) + atof(Review2004.GC1LocationAdj) +
		atof(Review2004.GC1SiteAdj) + atof(Review2004.GC1DesignAdj) + 
		atof(Review2004.GC1QualConstAdj) + atof(Review2004.GC1AgeAdj) + 
		atof(Review2004.GC1ConditionAdj) + atof(Review2004.GC1RoomsAdj) + 
		atof(Review2004.GC1GLASqFtAdj) + atof(Review2004.GC1BsmRooms1Adj) + 
		atof(Review2004.GC1BsmRooms2Adj) + atof(Review2004.GC1FuncUtilAdj) + 
		atof(Review2004.GC1HeatCoolAdj) + atof(Review2004.GC1GarCptAdj) + 
		atof(Review2004.GC1PorchEtc1Adj) + atof(Review2004.GC1PorchEtc2Adj) + 
		atof(Review2004.GC1EnergyEff1Adj) + atof(Review2004.GC1EnergyEff2Adj) + 
		atof(Review2004.GC1FenceEtcAdj) + atof(Review2004.GC1ExtraItemAdj) + 
		atof(Review2004.GC1ExtraItem2Adj);

	Review2004.GC1NetAdj = ToString(sum, 5);

	if sum < 0 then
		Review2004.GC1ChkBoxMinus = "X";
	else
		Review2004.GC1ChkBoxPlus = "X";
end;


Formula:
routine main() returns nothing is
begin
	Review2004.GC1IndVal = ToString(atof(Review2004.GC1NetAdj) + 
		atof(Review2004.GC1SalePrice), 5);
end;


Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2004.GC2GLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2004.GC2SalePrice);
		Review2004.GC2PriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing,
affects "Review2004.GC2IndVal" is
begin
	float sum;
	sum=atof(Review2004.GC2SalesFin1Adj) + atof(Review2004.GC2SalesFin2Adj) +
		atof(Review2004.GC2DateOfSaleAdj) + atof(Review2004.GC2LocationAdj) +
		atof(Review2004.GC2SiteAdj) + atof(Review2004.GC2DesignAdj) + 
		atof(Review2004.GC2QualConstAdj) + atof(Review2004.GC2AgeAdj) + 
		atof(Review2004.GC2ConditionAdj) + atof(Review2004.GC2RoomsAdj) + 
		atof(Review2004.GC2GLASqFtAdj) + atof(Review2004.GC2BsmRooms1Adj) + 
		atof(Review2004.GC2BsmRooms2Adj) + atof(Review2004.GC2FuncUtilAdj) + 
		atof(Review2004.GC2HeatCoolAdj) + atof(Review2004.GC2GarCptAdj) + 
		atof(Review2004.GC2PorchEtc1Adj) + atof(Review2004.GC2PorchEtc2Adj) + 
		atof(Review2004.GC2EnergyEff1Adj) + atof(Review2004.GC2EnergyEff2Adj) + 
		atof(Review2004.GC2FenceEtcAdj) + atof(Review2004.GC2ExtraItemAdj) + 
		atof(Review2004.GC2ExtraItem2Adj);

	Review2004.GC2NetAdj = ToString(sum, 5);

	if sum < 0 then
		Review2004.GC2ChkBoxMinus = "X";
	else
		Review2004.GC2ChkBoxPlus = "X";
end;


Formula:
routine main() returns nothing is
begin
	Review2004.GC2IndVal = ToString(atof(Review2004.GC2NetAdj) + 
		atof(Review2004.GC2SalePrice), 5);
end;


Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2004.GC3GLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2004.GC3SalePrice);
		Review2004.GC3PriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing,
affects "Review2004.GC3IndVal" is
begin
	float sum;
	sum=atof(Review2004.GC3SalesFin1Adj) + atof(Review2004.GC3SalesFin2Adj) +
		atof(Review2004.GC3DateOfSaleAdj) + atof(Review2004.GC3LocationAdj) +
		atof(Review2004.GC3SiteAdj) + atof(Review2004.GC3DesignAdj) + 
		atof(Review2004.GC3QualConstAdj) + atof(Review2004.GC3AgeAdj) + 
		atof(Review2004.GC3ConditionAdj) + atof(Review2004.GC3RoomsAdj) + 
		atof(Review2004.GC3GLASqFtAdj) + atof(Review2004.GC3BsmRooms1Adj) + 
		atof(Review2004.GC3BsmRooms2Adj) + atof(Review2004.GC3FuncUtilAdj) + 
		atof(Review2004.GC3HeatCoolAdj) + atof(Review2004.GC3GarCptAdj) + 
		atof(Review2004.GC3PorchEtc1Adj) + atof(Review2004.GC3PorchEtc2Adj) + 
		atof(Review2004.GC3EnergyEff1Adj) + atof(Review2004.GC3EnergyEff2Adj) + 
		atof(Review2004.GC3FenceEtcAdj) + atof(Review2004.GC3ExtraItemAdj) + 
		atof(Review2004.GC3ExtraItem2Adj);

	Review2004.GC3NetAdj = ToString(sum, 5);

	if sum < 0 then
		Review2004.GC3ChkBoxMinus = "X";
	else
		Review2004.GC3ChkBoxPlus = "X";
end;


Formula:
routine main() returns nothing is
begin
	Review2004.GC3IndVal = ToString(atof(Review2004.GC3NetAdj) + 
		atof(Review2004.GC3SalePrice), 5);
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	price = atof(Review2004.GC1SalePrice);
	if price != 0 then
	begin
		adj=abs(atoi(Review2004.GC1SalesFin1Adj))  + abs(atof(Review2004.GC1SalesFin2Adj)) + 
			abs(atof(Review2004.GC1DateOfSaleAdj)) + abs(atof(Review2004.GC1LocationAdj)) +
			abs(atof(Review2004.GC1LeaseholdAdj))	 + abs(atof(Review2004.GC1SiteAdj)) +
			abs(atof(Review2004.GC1ViewAdj))		 + abs(atof(Review2004.GC1DesignAdj)) +
			abs(atof(Review2004.GC1QualConstrAdj)) + abs(atof(Review2004.GC1AgeAdj)) +
			abs(atof(Review2004.GC1ConditionAdj))	 + abs(atof(Review2004.GC1RoomsAdj)) +
			abs(atof(Review2004.GC1GLASqFtAdj))	 + abs(atof(Review2004.GC1BsmRooms1Adj)) +
			abs(atof(Review2004.GC1BsmRooms2Adj))	 + abs(atof(Review2004.GC1FuncUtilAdj)) +
			abs(atof(Review2004.GC1HeatCoolAdj))	 + abs(atof(Review2004.GC1EnergyEffAdj)) +
			abs(atof(Review2004.GC1GarCptAdj))	 + abs(atof(Review2004.GC1PorchEtc1Adj)) +
			abs(atof(Review2004.GC1PorchEtc2Adj))	 + abs(atof(Review2004.GC1FenceEtcAdj)) +
			abs(atof(Review2004.GC1ExtraItemAdj));

		Review2004.GC1GrossPct_Value = ToString(adj/price * 100),5)+"%";
		Review2004.GC1GrossPct_Sign = "G:";
	end;
	else
	begin
		Review2004.GC1GrossPct_Value = "";
		Review2004.GC1GrossPct_Sign = "";
	end;
end;


# Review2006

Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBPropAddress");
	if !Changed("Review2006.GSUAddress1") then
		Review2006.GSUAddress1 = Review2006.SUBPropAddress;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBLoanNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBAppValue");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBAppDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBAppraiser");
	if !Changed("Review2006.RECAppraiser") then
		Review2006.RECAppraiser = Review2006.SUBAppraiser;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBApprPhone");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBApprAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBReviewer");
	if !Changed("Review2006.RecAppraiser2") then
		Review2006.RecAppraiser2 = Review2006.SUBReviewer;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBRevPhone");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBRevAddr");
end;


Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2006.GSUGLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2006.GSUSalePrice);
		Review2006.GSUPriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2006.GC1GLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2006.GC1SalePrice);
		Review2006.GC1PriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2006.GC2GLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2006.GC2SalePrice);
		Review2006.GC2PriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing is
begin
	float price, sqft;

	sqft = atof(Review2006.GC3GLASqFt);
	if sqft != 0 then
	begin
		price = atof(Review2006.GC3SalePrice);
		Review2006.GC3PriceGLA = ToString(price/sqft, 5);
	end;
end;


Formula:
routine main() returns nothing,
affects "Review2006.GC1IndVal" is
begin
	float sum;
	sum=atof(Review2006.GC1SalesFin1Adj) + atof(Review2006.GC1SalesFin2Adj) +
		atof(Review2006.GC1DateOfSaleAdj) + atof(Review2006.GC1LocationAdj) +
		atof(Review2006.GC1SiteAdj) + atof(Review2006.GC1DesignAdj) + 
		atof(Review2006.GC1QualConstAdj) + atof(Review2006.GC1AgeAdj) + 
		atof(Review2006.GC1ConditionAdj) + atof(Review2006.GC1RoomsAdj) + 
		atof(Review2006.GC1GLASqFtAdj) + atof(Review2006.GC1BsmRooms1Adj) + 
		atof(Review2006.GC1BsmRooms2Adj) + atof(Review2006.GC1FuncUtilAdj) + 
		atof(Review2006.GC1HeatCoolAdj) + atof(Review2006.GC1GarCptAdj) + 
		atof(Review2006.GC1PorchEtc1Adj) + atof(Review2006.GC1PorchEtc2Adj) + 
		atof(Review2006.GC1EnergyEff1Adj) + atof(Review2006.GC1EnergyEff2Adj) + 
		atof(Review2006.GC1FenceEtcAdj) + atof(Review2006.GC1ExtraItemAdj) + 
		atof(Review2006.GC1ExtraItem2Adj);

	Review2006.GC1NetAdj = ToString(sum, 5);

	if sum < 0 then
	begin
		Review2006.GC1ChkBoxPlus = "";
		Review2006.GC1ChkBoxMinus = "X";
	end;
	else
	begin
		Review2006.GC1ChkBoxPlus = "X";
		Review2006.GC1ChkBoxMinus = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	Review2006.GC1IndVal = ToString(atof(Review2006.GC1NetAdj) + 
		atof(Review2006.GC1SalePrice), 5);
end;


Formula:
routine main() returns nothing,
affects "Review2006.GC2IndVal" is
begin
	float sum;
	sum=atof(Review2006.GC2SalesFin1Adj) + atof(Review2006.GC2SalesFin2Adj) +
		atof(Review2006.GC2DateOfSaleAdj) + atof(Review2006.GC2LocationAdj) +
		atof(Review2006.GC2SiteAdj) + atof(Review2006.GC2DesignAdj) + 
		atof(Review2006.GC2QualConstAdj) + atof(Review2006.GC2AgeAdj) + 
		atof(Review2006.GC2ConditionAdj) + atof(Review2006.GC2RoomsAdj) + 
		atof(Review2006.GC2GLASqFtAdj) + atof(Review2006.GC2BsmRooms1Adj) + 
		atof(Review2006.GC2BsmRooms2Adj) + atof(Review2006.GC2FuncUtilAdj) + 
		atof(Review2006.GC2HeatCoolAdj) + atof(Review2006.GC2GarCptAdj) + 
		atof(Review2006.GC2PorchEtc1Adj) + atof(Review2006.GC2PorchEtc2Adj) + 
		atof(Review2006.GC2EnergyEff1Adj) + atof(Review2006.GC2EnergyEff2Adj) + 
		atof(Review2006.GC2FenceEtcAdj) + atof(Review2006.GC2ExtraItemAdj) + 
		atof(Review2006.GC2ExtraItem2Adj);

	Review2006.GC2NetAdj = ToString(sum, 5);

	if sum < 0 then
	begin
		Review2006.GC2ChkBoxPlus = "";
		Review2006.GC2ChkBoxMinus = "X";
	end;
	else
	begin
		Review2006.GC2ChkBoxPlus = "X";
		Review2006.GC2ChkBoxMinus = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	Review2006.GC2IndVal = ToString(atof(Review2006.GC2NetAdj) + 
		atof(Review2006.GC2SalePrice), 5);
end;


Formula:
routine main() returns nothing,
affects "Review2006.GC3IndVal" is
begin
	float sum;
	sum=atof(Review2006.GC3SalesFin1Adj) + atof(Review2006.GC3SalesFin2Adj) +
		atof(Review2006.GC3DateOfSaleAdj) + atof(Review2006.GC3LocationAdj) +
		atof(Review2006.GC3SiteAdj) + atof(Review2006.GC3DesignAdj) + 
		atof(Review2006.GC3QualConstAdj) + atof(Review2006.GC3AgeAdj) + 
		atof(Review2006.GC3ConditionAdj) + atof(Review2006.GC3RoomsAdj) + 
		atof(Review2006.GC3GLASqFtAdj) + atof(Review2006.GC3BsmRooms1Adj) + 
		atof(Review2006.GC3BsmRooms2Adj) + atof(Review2006.GC3FuncUtilAdj) + 
		atof(Review2006.GC3HeatCoolAdj) + atof(Review2006.GC3GarCptAdj) + 
		atof(Review2006.GC3PorchEtc1Adj) + atof(Review2006.GC3PorchEtc2Adj) + 
		atof(Review2006.GC3EnergyEff1Adj) + atof(Review2006.GC3EnergyEff2Adj) + 
		atof(Review2006.GC3FenceEtcAdj) + atof(Review2006.GC3ExtraItemAdj) + 
		atof(Review2006.GC3ExtraItem2Adj);

	Review2006.GC3NetAdj = ToString(sum, 5);

	if sum < 0 then
	begin
		Review2006.GC3ChkBoxPlus = "";
		Review2006.GC3ChkBoxMinus = "X";
	end;
	else
	begin
		Review2006.GC3ChkBoxPlus = "X";
		Review2006.GC3ChkBoxMinus = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	Review2006.GC3IndVal = ToString(atof(Review2006.GC3NetAdj) + 
		atof(Review2006.GC3SalePrice), 5);
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(Review2006.GC1SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Review2006.GC1SalesFin1Adj)) + abs(atof(Review2006.GC1SalesFin2Adj)) +
			abs(atof(Review2006.GC1DateOfSaleAdj)) + abs(atof(Review2006.GC1LocationAdj)) +
			abs(atof(Review2006.GC1SiteAdj)) + abs(atof(Review2006.GC1DesignAdj)) + 
			abs(atof(Review2006.GC1QualConstAdj)) + abs(atof(Review2006.GC1AgeAdj)) + 
			abs(atof(Review2006.GC1ConditionAdj)) + abs(atof(Review2006.GC1RoomsAdj)) + 
			abs(atof(Review2006.GC1GLASqFtAdj)) + abs(atof(Review2006.GC1BsmRooms1Adj)) + 
			abs(atof(Review2006.GC1BsmRooms2Adj)) + abs(atof(Review2006.GC1FuncUtilAdj)) + 
			abs(atof(Review2006.GC1HeatCoolAdj)) + abs(atof(Review2006.GC1GarCptAdj)) + 
			abs(atof(Review2006.GC1PorchEtc1Adj)) + abs(atof(Review2006.GC1PorchEtc2Adj)) + 
			abs(atof(Review2006.GC1EnergyEff1Adj)) + abs(atof(Review2006.GC1EnergyEff2Adj)) + 
			abs(atof(Review2006.GC1FenceEtcAdj)) + abs(atof(Review2006.GC1ExtraItemAdj)) + 
			abs(atof(Review2006.GC1ExtraItem2Adj));

		Review2006.GC1GrossAdjPct = ToString(sum/price*100, 5);
		Review2006.GC1GrossAdjSign = "G:";
	/*	Message("GC1GrossPct="+Review2006.GC1GrossAdjSign+" "+Review2006.GC1GrossAdjPct); */
	end;
	else
	begin
		Review2006.GC1GrossAdjPct = "";
		Review2006.GC1GrossAdjSign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(Review2006.GC1SalePrice);
	if price != 0 then
	begin
		sum=atof(Review2006.GC1SalesFin1Adj) + atof(Review2006.GC1SalesFin2Adj) +
			atof(Review2006.GC1DateOfSaleAdj) + atof(Review2006.GC1LocationAdj) +
			atof(Review2006.GC1SiteAdj) + atof(Review2006.GC1DesignAdj) + 
			atof(Review2006.GC1QualConstAdj) + atof(Review2006.GC1AgeAdj) + 
			atof(Review2006.GC1ConditionAdj) + atof(Review2006.GC1RoomsAdj) + 
			atof(Review2006.GC1GLASqFtAdj) + atof(Review2006.GC1BsmRooms1Adj) + 
			atof(Review2006.GC1BsmRooms2Adj) + atof(Review2006.GC1FuncUtilAdj) + 
			atof(Review2006.GC1HeatCoolAdj) + atof(Review2006.GC1GarCptAdj) + 
			atof(Review2006.GC1PorchEtc1Adj) + atof(Review2006.GC1PorchEtc2Adj) + 
			atof(Review2006.GC1EnergyEff1Adj) + atof(Review2006.GC1EnergyEff2Adj) + 
			atof(Review2006.GC1FenceEtcAdj) + atof(Review2006.GC1ExtraItemAdj) + 
			atof(Review2006.GC1ExtraItem2Adj);

		Review2006.GC1NetAdjPct = ToString(sum/price*100, 5);
		Review2006.GC1NetAdjSign = "N:";
	end;
	else
	begin
		Review2006.GC1NetAdjPct = "";
		Review2006.GC1NetAdjSign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(Review2006.GC2SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Review2006.GC2SalesFin1Adj)) + abs(atof(Review2006.GC2SalesFin2Adj)) +
			abs(atof(Review2006.GC2DateOfSaleAdj)) + abs(atof(Review2006.GC2LocationAdj)) +
			abs(atof(Review2006.GC2SiteAdj)) + abs(atof(Review2006.GC2DesignAdj)) + 
			abs(atof(Review2006.GC2QualConstAdj)) + abs(atof(Review2006.GC2AgeAdj)) + 
			abs(atof(Review2006.GC2ConditionAdj)) + abs(atof(Review2006.GC2RoomsAdj)) + 
			abs(atof(Review2006.GC2GLASqFtAdj)) + abs(atof(Review2006.GC2BsmRooms1Adj)) + 
			abs(atof(Review2006.GC2BsmRooms2Adj)) + abs(atof(Review2006.GC2FuncUtilAdj)) + 
			abs(atof(Review2006.GC2HeatCoolAdj)) + abs(atof(Review2006.GC2GarCptAdj)) + 
			abs(atof(Review2006.GC2PorchEtc1Adj)) + abs(atof(Review2006.GC2PorchEtc2Adj)) + 
			abs(atof(Review2006.GC2EnergyEff1Adj)) + abs(atof(Review2006.GC2EnergyEff2Adj)) + 
			abs(atof(Review2006.GC2FenceEtcAdj)) + abs(atof(Review2006.GC2ExtraItemAdj)) + 
			abs(atof(Review2006.GC2ExtraItem2Adj));

		Review2006.GC2GrossAdjPct = ToString(sum/price*100, 5);
		Review2006.GC2GrossAdjSign = "G:";
	end;
	else
	begin
		Review2006.GC2GrossAdjPct = "";
		Review2006.GC2GrossAdjSign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(Review2006.GC2SalePrice);
	if price != 0 then
	begin
		sum=atof(Review2006.GC2SalesFin1Adj) + atof(Review2006.GC2SalesFin2Adj) +
			atof(Review2006.GC2DateOfSaleAdj) + atof(Review2006.GC2LocationAdj) +
			atof(Review2006.GC2SiteAdj) + atof(Review2006.GC2DesignAdj) + 
			atof(Review2006.GC2QualConstAdj) + atof(Review2006.GC2AgeAdj) + 
			atof(Review2006.GC2ConditionAdj) + atof(Review2006.GC2RoomsAdj) + 
			atof(Review2006.GC2GLASqFtAdj) + atof(Review2006.GC2BsmRooms1Adj) + 
			atof(Review2006.GC2BsmRooms2Adj) + atof(Review2006.GC2FuncUtilAdj) + 
			atof(Review2006.GC2HeatCoolAdj) + atof(Review2006.GC2GarCptAdj) + 
			atof(Review2006.GC2PorchEtc1Adj) + atof(Review2006.GC2PorchEtc2Adj) + 
			atof(Review2006.GC2EnergyEff1Adj) + atof(Review2006.GC2EnergyEff2Adj) + 
			atof(Review2006.GC2FenceEtcAdj) + atof(Review2006.GC2ExtraItemAdj) + 
			atof(Review2006.GC2ExtraItem2Adj);

		Review2006.GC2NetAdjPct = ToString(sum/price*100, 5);
		Review2006.GC2NetAdjSign = "N:";
	end;
	else
	begin
		Review2006.GC2NetAdjPct = "";
		Review2006.GC2NetAdjSign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(Review2006.GC3SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(Review2006.GC3SalesFin1Adj)) + abs(atof(Review2006.GC3SalesFin2Adj)) +
			abs(atof(Review2006.GC3DateOfSaleAdj)) + abs(atof(Review2006.GC3LocationAdj)) +
			abs(atof(Review2006.GC3SiteAdj)) + abs(atof(Review2006.GC3DesignAdj)) + 
			abs(atof(Review2006.GC3QualConstAdj)) + abs(atof(Review2006.GC3AgeAdj)) + 
			abs(atof(Review2006.GC3ConditionAdj)) + abs(atof(Review2006.GC3RoomsAdj)) + 
			abs(atof(Review2006.GC3GLASqFtAdj)) + abs(atof(Review2006.GC3BsmRooms1Adj)) + 
			abs(atof(Review2006.GC3BsmRooms2Adj)) + abs(atof(Review2006.GC3FuncUtilAdj)) + 
			abs(atof(Review2006.GC3HeatCoolAdj)) + abs(atof(Review2006.GC3GarCptAdj)) + 
			abs(atof(Review2006.GC3PorchEtc1Adj)) + abs(atof(Review2006.GC3PorchEtc2Adj)) + 
			abs(atof(Review2006.GC3EnergyEff1Adj)) + abs(atof(Review2006.GC3EnergyEff2Adj)) + 
			abs(atof(Review2006.GC3FenceEtcAdj)) + abs(atof(Review2006.GC3ExtraItemAdj)) + 
			abs(atof(Review2006.GC3ExtraItem2Adj));

		Review2006.GC3GrossAdjPct = ToString(sum/price*100, 5);
		Review2006.GC3GrossAdjSign = "G:";
	end;
	else
	begin
		Review2006.GC3GrossAdjPct = "";
		Review2006.GC3GrossAdjSign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(Review2006.GC3SalePrice);
	if price != 0 then
	begin
		sum=atof(Review2006.GC3SalesFin1Adj) + atof(Review2006.GC3SalesFin2Adj) +
			atof(Review2006.GC3DateOfSaleAdj) + atof(Review2006.GC3LocationAdj) +
			atof(Review2006.GC3SiteAdj) + atof(Review2006.GC3DesignAdj) + 
			atof(Review2006.GC3QualConstAdj) + atof(Review2006.GC3AgeAdj) + 
			atof(Review2006.GC3ConditionAdj) + atof(Review2006.GC3RoomsAdj) + 
			atof(Review2006.GC3GLASqFtAdj) + atof(Review2006.GC3BsmRooms1Adj) + 
			atof(Review2006.GC3BsmRooms2Adj) + atof(Review2006.GC3FuncUtilAdj) + 
			atof(Review2006.GC3HeatCoolAdj) + atof(Review2006.GC3GarCptAdj) + 
			atof(Review2006.GC3PorchEtc1Adj) + atof(Review2006.GC3PorchEtc2Adj) + 
			atof(Review2006.GC3EnergyEff1Adj) + atof(Review2006.GC3EnergyEff2Adj) + 
			atof(Review2006.GC3FenceEtcAdj) + atof(Review2006.GC3ExtraItemAdj) + 
			atof(Review2006.GC3ExtraItem2Adj);

		Review2006.GC3NetAdjPct = ToString(sum/price*100, 5);
		Review2006.GC3NetAdjSign = "N:";
	end;
	else
	begin
		Review2006.GC3NetAdjPct = "";
		Review2006.GC3NetAdjSign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBLCAddress2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBPropAddress1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBApprAddress1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("Review2006.SUBRevAddr2");
end;


# SCC

Formula:
routine main() returns nothing is
begin
	/*begin
		SCC.RECInspectDate = SCC.RECInspectDay + " 19" + 
			SCC.RECInspectYear;
	end;
	CopyField("SCC.RECInspectDate;)*/
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SCC.SUBCurOwner");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SCC.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
begin
	Integer n, z;
	String CSZ;
	CopyField("SCC.SUBPropCityStateZip");
	begin
		CSZ = StrTrim(SCC.SUBPropCityStateZip);
		Len = StrLength(CSZ);
		n = StrChr(CSZ, ",");
		SCC.SUBCity = StrLeft(CSZ, n);
		z = StrRChr(CSZ, " ");
		SCC.SUBZip = StrRight(CSZ, Len - z);
		SCC.State = StrMid(CSZ, n+2, Len - n - z - 3);
	end;
	CopyField("SCC.SUBCity");
	CopyField("SCC.SUBState");
	CopyField("SCC.SUBZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SCC.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	begin
		SCC.RECApprSignDate = SCC.RECApprSignDay + 
			"19" + SCC.RECApprSignYear;
	end;
	CopyField("SCC.RECApprSignDate");
end;


# SComp4to6

Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUAddress1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUAddress2");
end;


Formula:
routine main() returns nothing,
affects "SComp4to6.GSUPriceGLA" is
begin
	CopyField("SComp4to6.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	string price;
	float gla;

	if !Changed("SComp4to6.GSUPriceGLA") then
	begin
		SComp4to6.GSUPriceGLA = "";
		price = SComp4to6.GSUSalePrice;
		gla = atof(SComp4to6.GSUGLASqFt);

		if gla != 0 and IsNumber(price) then
		begin
			gla = atof(price)/gla;
			SComp4to6.GSUPriceGLA = ToString(gla, 5);
		end;
	end;

	CopyField("SComp4to6.GSUPriceGLA");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUDataSource1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUDataSource2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUPriorSale_1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUPriorSale_2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUPriorSale_3");
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(SComp4to6.GC1GLASqFt);
	if s != 0 then
		SComp4to6.GC1PriceGLA = ToString(atof(SComp4to6.GC1SalePrice)/s,5);
	else
		SComp4to6.GC1PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string gross;
	adj = atof(SComp4to6.GC1SalesFin2Adj) + atof(SComp4to6.GC1DateOfSaleAdj) +
		atof(SComp4to6.GC1LocationAdj);
	price = atof(SComp4to6.GC1SalePrice);
	if price != 0 then
	begin
		adj=abs(atoi(SComp4to6.GC1SalesFin1Adj))  + abs(atof(SComp4to6.GC1SalesFin2Adj)) + 
			abs(atof(SComp4to6.GC1DateOfSaleAdj)) + abs(atof(SComp4to6.GC1LocationAdj)) +
			abs(atof(SComp4to6.GC1LeaseholdAdj)) + abs(atof(SComp4to6.GC1SiteAdj)) +
			abs(atof(SComp4to6.GC1ViewAdj))	+ abs(atof(SComp4to6.GC1DesignAdj)) +
			abs(atof(SComp4to6.GC1QualConstrAdj)) + abs(atof(SComp4to6.GC1AgeAdj)) +
			abs(atof(SComp4to6.GC1ConditionAdj)) + abs(atof(SComp4to6.GC1RoomsAdj)) +
			abs(atof(SComp4to6.GC1GLASqFtAdj)) + abs(atof(SComp4to6.GC1BsmRooms1Adj)) +
			abs(atof(SComp4to6.GC1BsmRooms2Adj)) + abs(atof(SComp4to6.GC1FuncUtilAdj)) +
			abs(atof(SComp4to6.GC1HeatCoolAdj)) + abs(atof(SComp4to6.GC1EnergyEffAdj)) +
			abs(atof(SComp4to6.GC1GarCptAdj)) + abs(atof(SComp4to6.GC1PorchEtc1Adj)) +
			abs(atof(SComp4to6.GC1PorchEtc2Adj)) + abs(atof(SComp4to6.GC1FenceEtcAdj)) +
			abs(atof(SComp4to6.GC1ExtraItemAdj));

		gross = "        "+ToString(Fraction(2, adj/price * 100),2)+"%";
		SComp4to6.GC1AdjPrice1_Text = "G:"+StrRight(gross,7);
	end;
	else
		SComp4to6.GC1AdjPrice1_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string net;
	price = atof(SComp4to6.GC1SalePrice);
	if price != 0 then
	begin
		adj=atof(SComp4to6.GC1SalesFin1Adj) + atof(SComp4to6.GC1SalesFin2Adj) + 
			atof(SComp4to6.GC1DateOfSaleAdj) + atof(SComp4to6.GC1LocationAdj) +
			atof(SComp4to6.GC1LeaseholdAdj) + atof(SComp4to6.GC1SiteAdj) +
			atof(SComp4to6.GC1ViewAdj) + atof(SComp4to6.GC1DesignAdj) +
			atof(SComp4to6.GC1QualConstrAdj) + atof(SComp4to6.GC1AgeAdj) +
			atof(SComp4to6.GC1ConditionAdj) + atof(SComp4to6.GC1RoomsAdj) +
			atof(SComp4to6.GC1GLASqFtAdj) + atof(SComp4to6.GC1BsmRooms1Adj) +
			atof(SComp4to6.GC1BsmRooms2Adj) + atof(SComp4to6.GC1FuncUtilAdj) +
			atof(SComp4to6.GC1HeatCoolAdj) + atof(SComp4to6.GC1EnergyEffAdj) +
			atof(SComp4to6.GC1GarCptAdj) + atof(SComp4to6.GC1PorchEtc1Adj) +
			atof(SComp4to6.GC1PorchEtc2Adj) + atof(SComp4to6.GC1FenceEtcAdj) +
			atof(SComp4to6.GC1ExtraItemAdj);

		net = "       "+ToString(Fraction(2, Abs(adj)/price * 100),2)+"%";
		SComp4to6.GC1AdjPrice2_Text = "N:"+StrRight(net,7);
	end;
	else
		SComp4to6.GC1AdjPrice2_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(SComp4to6.GC2GLASqFt);
	if s != 0 then
		SComp4to6.GC2PriceGLA = ToString(atof(SComp4to6.GC2SalePrice)/s,5);
	else
		SComp4to6.GC2PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string gross;
	adj = atof(SComp4to6.GC2SalesFin2Adj) + atof(SComp4to6.GC2DateOfSaleAdj) +
		atof(SComp4to6.GC2LocationAdj);
	price = atof(SComp4to6.GC2SalePrice);
	if price != 0 then
	begin
		adj=abs(atoi(SComp4to6.GC2SalesFin1Adj))  + abs(atof(SComp4to6.GC2SalesFin2Adj)) + 
			abs(atof(SComp4to6.GC2DateOfSaleAdj)) + abs(atof(SComp4to6.GC2LocationAdj)) +
			abs(atof(SComp4to6.GC2LeaseholdAdj)) + abs(atof(SComp4to6.GC2SiteAdj)) +
			abs(atof(SComp4to6.GC2ViewAdj))	+ abs(atof(SComp4to6.GC2DesignAdj)) +
			abs(atof(SComp4to6.GC2QualConstrAdj)) + abs(atof(SComp4to6.GC2AgeAdj)) +
			abs(atof(SComp4to6.GC2ConditionAdj)) + abs(atof(SComp4to6.GC2RoomsAdj)) +
			abs(atof(SComp4to6.GC2GLASqFtAdj)) + abs(atof(SComp4to6.GC2BsmRooms1Adj)) +
			abs(atof(SComp4to6.GC2BsmRooms2Adj)) + abs(atof(SComp4to6.GC2FuncUtilAdj)) +
			abs(atof(SComp4to6.GC2HeatCoolAdj)) + abs(atof(SComp4to6.GC2EnergyEffAdj)) +
			abs(atof(SComp4to6.GC2GarCptAdj)) + abs(atof(SComp4to6.GC2PorchEtc1Adj)) +
			abs(atof(SComp4to6.GC2PorchEtc2Adj)) + abs(atof(SComp4to6.GC2FenceEtcAdj)) +
			abs(atof(SComp4to6.GC2ExtraItemAdj));

		gross = "        "+ToString(Fraction(2, adj/price * 100),2)+"%";
		SComp4to6.GC2AdjPrice1_Text = "G:"+StrRight(gross,7);
	end;
	else
		SComp4to6.GC2AdjPrice1_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string net;
	price = atof(SComp4to6.GC2SalePrice);
	if price != 0 then
	begin
		adj=atof(SComp4to6.GC2SalesFin1Adj) + atof(SComp4to6.GC2SalesFin2Adj) + 
			atof(SComp4to6.GC2DateOfSaleAdj) + atof(SComp4to6.GC2LocationAdj) +
			atof(SComp4to6.GC2LeaseholdAdj) + atof(SComp4to6.GC2SiteAdj) +
			atof(SComp4to6.GC2ViewAdj) + atof(SComp4to6.GC2DesignAdj) +
			atof(SComp4to6.GC2QualConstrAdj) + atof(SComp4to6.GC2AgeAdj) +
			atof(SComp4to6.GC2ConditionAdj) + atof(SComp4to6.GC2RoomsAdj) +
			atof(SComp4to6.GC2GLASqFtAdj) + atof(SComp4to6.GC2BsmRooms1Adj) +
			atof(SComp4to6.GC2BsmRooms2Adj) + atof(SComp4to6.GC2FuncUtilAdj) +
			atof(SComp4to6.GC2HeatCoolAdj) + atof(SComp4to6.GC2EnergyEffAdj) +
			atof(SComp4to6.GC2GarCptAdj) + atof(SComp4to6.GC2PorchEtc1Adj) +
			atof(SComp4to6.GC2PorchEtc2Adj) + atof(SComp4to6.GC2FenceEtcAdj) +
			atof(SComp4to6.GC2ExtraItemAdj);

		net = "       "+ToString(Fraction(2, Abs(adj)/price * 100),2)+"%";
		SComp4to6.GC2AdjPrice2_Text = "N:"+StrRight(net,7);
	end;
	else
		SComp4to6.GC2AdjPrice2_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(SComp4to6.GC3GLASqFt);
	if s != 0 then
		SComp4to6.GC3PriceGLA = ToString(atof(SComp4to6.GC3SalePrice)/s,5);
	else
		SComp4to6.GC3PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string gross;
	price = atof(SComp4to6.GC3SalePrice);
	if price != 0 then
	begin
		adj=abs(atoi(SComp4to6.GC3SalesFin1Adj))  + abs(atof(SComp4to6.GC3SalesFin2Adj)) + 
			abs(atof(SComp4to6.GC3DateOfSaleAdj)) + abs(atof(SComp4to6.GC3LocationAdj)) +
			abs(atof(SComp4to6.GC3LeaseholdAdj)) + abs(atof(SComp4to6.GC3SiteAdj)) +
			abs(atof(SComp4to6.GC3ViewAdj))	+ abs(atof(SComp4to6.GC3DesignAdj)) +
			abs(atof(SComp4to6.GC3QualConstrAdj)) + abs(atof(SComp4to6.GC3AgeAdj)) +
			abs(atof(SComp4to6.GC3ConditionAdj)) + abs(atof(SComp4to6.GC3RoomsAdj)) +
			abs(atof(SComp4to6.GC3GLASqFtAdj)) + abs(atof(SComp4to6.GC3BsmRooms1Adj)) +
			abs(atof(SComp4to6.GC3BsmRooms2Adj)) + abs(atof(SComp4to6.GC3FuncUtilAdj)) +
			abs(atof(SComp4to6.GC3HeatCoolAdj)) + abs(atof(SComp4to6.GC3EnergyEffAdj)) +
			abs(atof(SComp4to6.GC3GarCptAdj)) + abs(atof(SComp4to6.GC3PorchEtc1Adj)) +
			abs(atof(SComp4to6.GC3PorchEtc2Adj)) + abs(atof(SComp4to6.GC3FenceEtcAdj)) +
			abs(atof(SComp4to6.GC3ExtraItemAdj));

		gross = "        "+ToString(Fraction(2, adj/price * 100),2)+"%";
		SComp4to6.GC3AdjPrice1_Text = "G:"+StrRight(gross,7);
	end;
	else
		SComp4to6.GC3AdjPrice1_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string net;
	price = atof(SComp4to6.GC3SalePrice);
	if price != 0 then
	begin
		adj=atof(SComp4to6.GC3SalesFin1Adj) + atof(SComp4to6.GC3SalesFin2Adj) + 
			atof(SComp4to6.GC3DateOfSaleAdj) + atof(SComp4to6.GC3LocationAdj) +
			atof(SComp4to6.GC3LeaseholdAdj) + atof(SComp4to6.GC3SiteAdj) +
			atof(SComp4to6.GC3ViewAdj) + atof(SComp4to6.GC3DesignAdj) +
			atof(SComp4to6.GC3QualConstrAdj) + atof(SComp4to6.GC3AgeAdj) +
			atof(SComp4to6.GC3ConditionAdj) + atof(SComp4to6.GC3RoomsAdj) +
			atof(SComp4to6.GC3GLASqFtAdj) + atof(SComp4to6.GC3BsmRooms1Adj) +
			atof(SComp4to6.GC3BsmRooms2Adj) + atof(SComp4to6.GC3FuncUtilAdj) +
			atof(SComp4to6.GC3HeatCoolAdj) + atof(SComp4to6.GC3EnergyEffAdj) +
			atof(SComp4to6.GC3GarCptAdj) + atof(SComp4to6.GC3PorchEtc1Adj) +
			atof(SComp4to6.GC3PorchEtc2Adj) + atof(SComp4to6.GC3FenceEtcAdj) +
			atof(SComp4to6.GC3ExtraItemAdj);

		net = "       "+ToString(Fraction(2, Abs(adj)/price * 100),2)+"%";
		SComp4to6.GC3AdjPrice2_Text = "N:"+StrRight(net,7);
	end;
	else
		SComp4to6.GC3AdjPrice2_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSULocation");
end;


Formula:
routine main() returns nothing  is
begin
	CopyField("SComp4to6.GSULeasehold");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUSite");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUView");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUDesign");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUQualConstr");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUAge");
end;


